Jest中的模拟模块

时间:2020-07-17 18:11:10

标签: javascript unit-testing mocking jestjs

我在App.js中有一个方法要为其编写测试用例。但是,当我在测试文件中导入App.js时,App.js内的所有import语句也会被导入并导致错误。是否可以模拟一个依赖关系,该依赖关系是通过玩笑引入到我的App.js中的。考虑下面的示例

//App.js 
import user from '../user.js';
//some functions which needs to be tested

当我尝试App.spec.js文件时可以模拟user.js吗?

2 个答案:

答案 0 :(得分:0)

您可以使用sinonjs https://sinonjs.org/how-to/stub-dependency/

sinon.stub(user,'functionToMock')。callsFake(()=> {})

答案 1 :(得分:0)

您可以通过以下语句简单地嘲笑玩笑中的任何用户模块。

jest.mock('./moduleName') 

为进一步了解,您可以参考以下文档。

https://jestjs.io/docs/en/manual-mocks#:~:text=When%20a%20manual%20mock%20exists,moduleName'