开玩笑-为什么要调用模拟api?

时间:2019-02-06 19:34:42

标签: javascript selenium testing jestjs web-api-testing

我对JavaScript测试很熟悉,可能会遗漏与模拟api调用有关的一两点。在进行单元或集成测试时,我发现每个教程都模拟了api调用-例如:https://jestjs.io/docs/en/tutorial-async

我不了解通过提供硬编码数据然后测试该硬编码数据的值来模拟服务器响应的价值。似乎所有此类测试都告诉您工具是否使用了模拟而不是实际的api调用。该结果不会告诉您有关应用程序行为的任何信息,尽管不是吗?我想念什么吗?

此外,如果我想实际测试真正的api调用的结果怎么办?这会把我推到功能测试领域吗?可以使用诸如Jest之类的工具对api调用进行真正的测试,还是更适合硒或testcafe之类的东西?

2 个答案:

答案 0 :(得分:4)

如果您想测试对真实api的调用,并且该调用是由前端应用程序完成的,则TestCafe提供Request Hooks来检查是否以正确的方式调用了api响应中包含正确的数据。

模拟API响应可以进行某种混乱的测试:当API发送HTTP 500/400/404/202 / ...或API从不发送响应时,前端会发生什么...

答案 1 :(得分:1)

  

该结果不会告诉您有关您的行为的任何信息   应用程序虽然没有

可以。它告诉您前端组件能够正确处理收到的数据(将其放入redux存储,localStorage,更新UI等)。