开玩笑-手动模拟用户模块

时间:2019-01-15 13:28:02

标签: mocking jestjs

我尝试模拟一些模块(verificationToken)。因此,我创建了与我的VerificationToken模块相邻的文件夹__mock__

/actions
       | __mocks__
                   verificationToken.js
       | verificationToken.js
       | actions.js (import verificationToken from './verificationToken')

我为使用action.js的组件创建了测试。在action.js中有import语句。笑话显然无法模拟verifyToken模块,我的测试失败了。

因此,我尝试创建与__mocks__文件夹相邻的文件夹__tests__,但测试也失败了(相同的原因)。

1 个答案:

答案 0 :(得分:0)

好的。我找到了解决方法。

注意:为了正确模拟,Jest需要jest.mock('moduleName')与require / import语句处于同一范围。

在操作中创建__mock__文件夹。在component.test.js中,指定该文件夹的位置,在我的情况下为:

jest.mock('../../../actions/verificationToken');

项目文件夹:

actions
      |__mocks__
                 | verificationToken.js
      |actions.js
      |verificationToken.js

components
         | __tests__
                     |component.test.js
         | component.js