【问题标题】:Difference between mock and unmock test in JestJest 中 mock 和 unmock 测试的区别
【发布时间】:2017-04-26 13:49:30
【问题描述】:

最近我熟悉了 Jest 库和单元测试概念,并且由于 jest 的文档,我的代码中的所有内容都正确无误。

但我需要知道在 Jest 和其他单元测试库中模拟和取消模拟概念之间有什么区别。

谢谢

【问题讨论】:

    标签: javascript unit-testing testing mocking jestjs


    【解决方案1】:

    Mock 意味着用另一个实例替换一个实例。开玩笑地说,它用于用您自己的模块替换导入模块的实现。

    jest.mock('yourModule', () => {test: ()=> 'test'})

    其主要思想是在单元测试中隔离您的代码,以便您只测试一个模块,而不受应用程序其他部分或外部代码的影响。这有很多优点。首先,如果一个模块中的代码中断,只有这部分的测试会失败,而不是只导入这个模块的部分的全部测试。其次,您可以简化测试本身,因为您不需要启动返回特定数据的服务器,这也会减慢您的代码。

    取消模拟功能是自动模拟功能的原因,这是过去的默认设置。自动模拟将用默认模拟替换所有导入的模块。因为这对于某些模块是有意义的,但对于 lodash 是不需要的,例如,您可以取消对它们的模拟。因此,如果需要,通常需要在 automock 开启的情况下进行 unmock 以获得原始实现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-28
      • 2017-07-15
      • 1970-01-01
      • 2017-07-06
      • 2014-08-16
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      相关资源
      最近更新 更多