本文整理汇总了TypeScript中testdouble.matchers类的典型用法代码示例。如果您正苦于以下问题:TypeScript matchers类的具体用法?TypeScript matchers怎么用?TypeScript matchers使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了matchers类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: wrapVerify
export function wrapVerify(invokeCallback: (...args: any[]) => void, expectedCalls: any[][] | {[key: string]: any[]}) {
const captors = [td.matchers.captor(), td.matchers.captor(), td.matchers.captor()];
invokeCallback(...captors.map(captor => captor.capture));
const toIndex = (key: string) => parseInt(key.replace('call', ''), 10);
Object.entries(expectedCalls).forEach(([key, value]) => {
const callIndex = toIndex(key);
(value as any[]).forEach((expectedArg, argIndex) => {
const failureMessage = `Check argument ${argIndex} of call ${callIndex}`;
assert.deepEqual(captors[argIndex].values![callIndex], expectedArg, failureMessage);
});
});
}
示例2: it
it('sends analyticsId via ga', (done) => {
const captor = td.matchers.captor();
const expectedId = 'U-XXXXXXXX-1';
const expectedPath = '/#example';
sush.flow([
SUSHPluginGoogleAnalytics({
analyticsId: expectedId
})
])
.then(() => {
td.verify(ga('create', captor.capture()), { ignoreExtraArgs: true });
td.verify(ga('send', 'pageview', captor.capture()));
assert.strictEqual(captor.values[0], expectedId);
assert.strictEqual(captor.values[1].page, expectedPath);
done();
})
.catch((err) => done(err));
});
示例3: require
// libs
const td = require('testdouble');
// static Methods
const findById = td.function();
const findOne = td.function();
const findAll = td.function();
const create = td.function();
// instance Methods
const getPosts = td.function();
const update = td.function();
export const topicInstance = { getPosts, update };
// apply stubs
const topicModuleReplacement = { Topic: { findAll, findById, findOne, create } };
td.replace('../models/topic.model', topicModuleReplacement);
td.when(findAll(td.matchers.anything())).thenResolve([topicInstance]);
td.when(findById(td.matchers.anything())).thenResolve(topicInstance);
td.when(findById(td.matchers.anything(), td.matchers.anything())).thenResolve(topicInstance);
td.when(findOne(td.matchers.anything())).thenResolve(topicInstance);
td.when(getPosts(td.matchers.anything())).thenResolve();
示例4: require
// libs
const td = require('testdouble');
// static Methods
const findById = td.function();
const findOne = td.function();
const create = td.function();
// instance Methods
const setTopics = td.function();
const update = td.function();
const getDataValue = td.function();
export const postInstance = { setTopics, update, getDataValue };
// apply stubs
export const postModule = { Post: { findOne, findById, create } };
td.replace('../models/post.model', postModule);
td.when(findById(td.matchers.anything(), td.matchers.anything())).thenResolve(postInstance);
td.when(findOne(td.matchers.anything(), td.matchers.anything())).thenResolve(postInstance);
td.when(create(td.matchers.not(undefined), td.matchers.anything())).thenResolve(postInstance);
td.when(setTopics(td.matchers.anything(), td.matchers.anything())).thenResolve(postInstance);
td.when(update(td.matchers.anything(), td.matchers.anything())).thenResolve(postInstance);