Unit testing 在internet连接上缺少单元测试 背景

Unit testing 在internet连接上缺少单元测试 背景,unit-testing,testing,mocha.js,fetch,chai,Unit Testing,Testing,Mocha.js,Fetch,Chai,我想使用FetchMock和Chai/Mocha为我编写的特性编写一个单元测试 我在fetch周围有一个包装器,如果出现网络故障,它会返回带有(特定)失败代码的响应,而不是拒绝 代码本身是有效的。我可以在代码运行时手动关闭机器上的wifi来手动测试它 我有理由期待这段代码有一天会被某个人重构。所以我想要一些关于它的单元测试 问题 我如何使用Chai/Mocha和任何其他工具(比如我目前正在使用的fetchMock)围绕该场景创建测试 我不知道如何在单元测试中伪造网络故障。包装器如何检测/确定存在

我想使用FetchMock和Chai/Mocha为我编写的特性编写一个单元测试

我在fetch周围有一个包装器,如果出现网络故障,它会返回带有(特定)失败代码的响应,而不是拒绝

代码本身是有效的。我可以在代码运行时手动关闭机器上的wifi来手动测试它

我有理由期待这段代码有一天会被某个人重构。所以我想要一些关于它的单元测试

问题 我如何使用Chai/Mocha和任何其他工具(比如我目前正在使用的fetchMock)围绕该场景创建测试


我不知道如何在单元测试中伪造网络故障。

包装器如何检测/确定存在网络故障?通常,您的请求模块将通过拒绝承诺、在回调中填充错误或抛出错误来处理网络故障。您需要做的就是模拟您的请求模块正在做什么。因此,我的包装器运行
尝试{return await fetch(*stuff*);}catch(e){return something;}
在以前被拒绝的地方@robertklepIt可能有点黑客行为,但您不能让
fetchmock
故意抛出异常吗?