如果我的next.js页面加载没有错误,我想编写简单的测试检查。
我遵循了this tutorial,几乎可以正常运行了,但是当我运行npm run test
时,simple-react-validator仍然会出现以下错误,该错误只是在幕后运行jest
:>
TypeError:simple_react_validator_1。默认不是构造函数
private validator : SimpleReactValidator = new SimpleReactValidator({
| ^
96 | locale: 'en',
97 | autoForceUpdate: this,
98 | validators: {
在我什至无法在我的Typescript Next.js应用程序中使用simple-react-validator之前。我需要在next-env.d.ts中添加:
declare module 'simple-react-validator' {
const content: any;
export default content;
}
然后我可以在应用程序中使用它,但是测试抱怨构造函数。
什么会导致此问题?也许我需要以某种方式明确地告诉它什么是SimpleReactValidator,但是我不知道在哪里。
答案 0 :(得分:0)
一段时间后,我发现了。 如果使用打字稿,则必须将模拟包装在“默认”属性中:
jest.mock('simple-react-validator', () => {
return {
'default': class SimpleReactValidatorMock {
allValid() { return true; }
fieldValid() { return true; }
message() { return ''; }
}
}
});
我在这里找到了答案: https://github.com/kulshekhar/ts-jest/issues/120#issuecomment-283653644