Javascript 玩笑中模拟测试和非模拟测试的区别
最近,我已经熟悉了Jest库和单元测试概念,Jest文档中的所有内容都在我的代码中 但我需要知道Jest和其他单元测试库中模拟和取消模拟概念的区别Javascript 玩笑中模拟测试和非模拟测试的区别,javascript,unit-testing,testing,mocking,jestjs,Javascript,Unit Testing,Testing,Mocking,Jestjs,最近,我已经熟悉了Jest库和单元测试概念,Jest文档中的所有内容都在我的代码中 但我需要知道Jest和其他单元测试库中模拟和取消模拟概念的区别 感谢Mock意味着用另一个实例替换一个实例。开玩笑的是,它用于用您自己的模块替换导入模块的实现 jest.mock('yourModule',()=>{test:()=>'test'}) 其主要思想是在单元测试中隔离代码,以便只测试一个模块,而不受应用程序其他部分或外部代码的影响。这有很多优点。首先,如果一个模块中的代码中断,则只有此部分的测试将失败
感谢Mock意味着用另一个实例替换一个实例。开玩笑的是,它用于用您自己的模块替换导入模块的实现
jest.mock('yourModule',()=>{test:()=>'test'})
其主要思想是在单元测试中隔离代码,以便只测试一个模块,而不受应用程序其他部分或外部代码的影响。这有很多优点。首先,如果一个模块中的代码中断,则只有此部分的测试将失败,而不是仅导入此模块的部分的所有测试。其次,您可以简化测试本身,因为您不需要启动返回特定数据的服务器,这也会降低代码的速度
卸载功能是自动模拟功能的原因,这是过去的默认功能。自动模拟将用默认模拟替换所有导入的模块。因为这对于某些模块来说是有意义的,但是对于lodash
来说是不需要的,例如,您可以取消对它们的模拟。因此,如果需要,在打开automock的情况下,主要需要卸载以获得原始实现