我正在尝试在Typescript中为Jest添加自定义匹配器.这工作正常,但我不能让Typescript识别扩展Matchers.
myMatcher.ts
export default function myMatcher (this: jest.MatcherUtils, received: any, expected: any): { pass: boolean; message (): string; } {
const pass = received === expected;
return {
pass: pass,
message: () => `expected ${pass ? '!' : '='}==`,
}
}
Run Code Online (Sandbox Code Playgroud)
myMatcher.d.ts
declare namespace jest {
interface Matchers {
myMatcher (expected: any): boolean;
}
}
Run Code Online (Sandbox Code Playgroud)
someTest.ts
import myMatcher from './myMatcher';
expect.extend({
myMatcher,
})
it('should work', () => {
expect('str').myMatcher('str');
})
Run Code Online (Sandbox Code Playgroud)
tsconfig.json
{
"compilerOptions": {
"outDir": "./dist/",
"moduleResolution": "node", …Run Code Online (Sandbox Code Playgroud)