Adr*_*lli 7 javascript unit-testing ecmascript-6 jestjs es6-class
我有一个像这样的单例类的依赖项:
// dependency.js
class Dependency {
foo() { ... }
}
export default new Dependency();
Run Code Online (Sandbox Code Playgroud)
我试图用 Jest 来模拟这个类,但由于它是一个单身人士,我不知道如何模拟它。我试过这个:
jest.mock('../Dependency', () => {
return { foo: jest.fn() };
});
Run Code Online (Sandbox Code Playgroud)
但这没有用。
接受jest.mock模块名称而不是类名称。该字符串应该与使用时相同require。假设您dependency.js位于父文件夹中,它应该是这样的:
jest.mock('../dependency', () => {
return { foo: jest.fn() };
});
Run Code Online (Sandbox Code Playgroud)
但是,这需要'../dependency'模块导出 a foo,如下所示:(请参阅有关模拟的更多详细信息)
// dependency.js
// class Dependency {
foo() { ... }
// }
export {foo};
Run Code Online (Sandbox Code Playgroud)
模拟一个类比较复杂,你可以在这里查看实现
| 归档时间: |
|
| 查看次数: |
3035 次 |
| 最近记录: |