我正在使用 Vitest,并在我的设置文件中编写了简单的自定义匹配器:
import { expect } from 'vitest';
expect.extend({
aaa: (received: number, expected: number) => {
const pass = received === expected;
if (pass) {
return {
message: () => `expected ${received} not to be ${expected}`,
pass: true,
};
} else {
return {
message: () => `expected ${received} to be ${expected}`,
pass: false,
};
}
}
})
我在示例测试中使用它:
it('should aaa', () => {
// @ts-ignore
expect(3).aaa(2);
});
当给出正确的预期值和接收值时,测试正确通过。但是当(如上面的示例)值不匹配时,测试而不是因给定消息而失败,而是抛出错误:
Failure cause not provided for 'should aaa'
任何帮助将不胜感激。
你的问题同时解决了吗?