【问题标题】:Jest - manual mock user moduleJest - 手动模拟用户模块
【发布时间】:2019-06-09 12:31:04
【问题描述】:

我尝试模拟一些模块(verificationToken)。所以我创建了文件夹 __mock__ 与我的 verifyToken 模块相邻。

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

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

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

【问题讨论】:

    标签: mocking jestjs


    【解决方案1】:

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

    注意:为了正确地模拟,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
    

    【讨论】:

      猜你喜欢
      • 2015-04-22
      • 2019-08-17
      • 2018-09-16
      • 2021-02-04
      • 1970-01-01
      • 2019-12-08
      • 1970-01-01
      • 2021-03-14
      相关资源
      最近更新 更多