![]() |
1
2
你有没有坚持的理由
Http请求可以如下所示
}
您可以将
使用现有代码,
完整代码为 here |
![]() |
2
1
我想说的是,您需要对代码进行一点重构,使其更易于测试。 当我为函数编写单元测试时,我会记住以下几点
在您的示例中实现这两个,我将在服务模块中分离服务器调用,服务模块的唯一职责是获取url(和配置,如果有的话)进行服务器调用。 现在,当你这样做的时候,你会得到两个好处 1、您有一段可重用的代码,现在可以用来进行其他服务器调用(也可以使您的代码更简洁)
现在,在getJSON函数中剩下的所有测试就是监视该服务模块,并使用tohaveBeenCalledWith检查数据是否正确解析。您可以模拟服务以返回所需的数据。 1是拨打服务电话 所以测试toHaveBeenCalledWith 2对JSON的解析 测试JSON是否有效 还测试故障
|
![]() |
3
0
我认为你没有成功,因为你是那样直接回来的。应该是这样的:
您可以使用child\u进程生成一个测试服务器来提供JSON API。示例:
您可以自定义
更新的单元测试示例 |
![]() |
tomography · 更改承诺类型 2 年前 |
![]() |
Aristocles · 许诺抛出错误后是否继续执行所有提取? 2 年前 |
![]() |
Centurion22 · 异步函数内的异步映射函数未定义响应数据 2 年前 |
![]() |
Scott Thiessen · 完成后逃离承诺链[重复] 6 年前 |
|
adcomptyler · 向Twilio视频快速启动添加静音按钮 6 年前 |
![]() |
JWiley · 带有FileReader的Promise函数过早解析 6 年前 |
![]() |
John Lippson · 在所有异步函数完成后执行函数? 6 年前 |
![]() |
ctf0 · 解析嵌套承诺后运行函数 6 年前 |