Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 玩笑中模拟测试和非模拟测试的区别_Javascript_Unit Testing_Testing_Mocking_Jestjs - Fatal编程技术网

Javascript 玩笑中模拟测试和非模拟测试的区别

Javascript 玩笑中模拟测试和非模拟测试的区别,javascript,unit-testing,testing,mocking,jestjs,Javascript,Unit Testing,Testing,Mocking,Jestjs,最近,我已经熟悉了Jest库和单元测试概念,Jest文档中的所有内容都在我的代码中 但我需要知道Jest和其他单元测试库中模拟和取消模拟概念的区别 感谢Mock意味着用另一个实例替换一个实例。开玩笑的是,它用于用您自己的模块替换导入模块的实现 jest.mock('yourModule',()=>{test:()=>'test'}) 其主要思想是在单元测试中隔离代码,以便只测试一个模块,而不受应用程序其他部分或外部代码的影响。这有很多优点。首先,如果一个模块中的代码中断,则只有此部分的测试将失败

最近,我已经熟悉了Jest库和单元测试概念,Jest文档中的所有内容都在我的代码中

但我需要知道Jest和其他单元测试库中模拟和取消模拟概念的区别


感谢

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

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

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

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