Rea*_*ner 5 unit-testing reactjs jestjs
我正在为模块编写单元测试.我真的需要帮助来处理全球变量和功能.我的问题如下:假设我想测试名为'needTest.js'的模块.结构如下:

因为我只需要在我的测试文件中测试needTest.js中的main函数,我首先import main from '../needTest.js'.而我的问题是:函数main不仅需要三个输入p1,p2和p3,它还取决于一些全局变量或函数,如isA,isB,isC.如何在我的测试文件中模拟这些全局变量?我想简单地替换那些全局变量的返回值,让我的测试文件忽略它导入的内容,但只使用我嘲笑的东西.
小智 0
实现此目的的一种方法是使用 Jest 的jest.mock方法。
jest.mock('module-isA-came-from');
jest.mock('module-isB-came-from');
jest.mock('module-isC-came-from');
Run Code Online (Sandbox Code Playgroud)
然后,您可以显式传递模块工厂:
jest.mock('module-isA-came-from', () => jest.fn(() => 42));
Run Code Online (Sandbox Code Playgroud)
或者设置自动模拟模块的期望:
isA.mockReturnValue(42);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
982 次 |
| 最近记录: |