【发布时间】:2021-06-12 10:50:13
【问题描述】:
我有。 node.js-TypeScript applciation 和 Jest 用于测试。使用这个参考https://jestjs.io/docs/expect#expectextendmatchers 我的测试类中有一些扩展的期望匹配器。就像下面的例子一样。我在几个不同的测试类中有很多常见的扩展。有没有办法将这些扩展匹配器外部化/分组并通过导入它们在测试类中使用?
例子:
expect.extend({
async toBeDivisibleByExternalValue(received) {
const externalValue = await getExternalValueFromRemoteSource();
const pass = received % externalValue == 0;
if (pass) {
return {
message: () =>
`expected ${received} not to be divisible by ${externalValue}`,
pass: true,
};
} else {
return {
message: () =>
`expected ${received} to be divisible by ${externalValue}`,
pass: false,
};
}
},
});
test('is divisible by external value', async () => {
await expect(100).toBeDivisibleByExternalValue();
await expect(101).not.toBeDivisibleByExternalValue();
});
我的笑话.d.ts:
export {};
declare global {
namespace jest {
interface Matchers<R> {
hasTestData(): R;
}
}
【问题讨论】:
标签: node.js typescript testing jestjs ts-jest