JEST - 为什么模拟 api 调用?

Win*_*ith 8 javascript testing selenium jestjs web-api-testing

我正在熟悉 JavaScript 测试,并且可能缺少与模拟 api 调用相关的一两点。在进行单元或集成测试时,我发现的每个教程都会模拟 api 调用 - 示例:https : //jestjs.io/docs/en/tutorial-async

我不明白通过提供硬编码数据来模拟服务器响应的价值,然后测试该硬编码数据的价值。似乎所有这样的测试都是告诉你你的工具是否使用了模拟而不是实际的 api 调用。该结果并没有告诉您有关应用程序行为的任何信息,但不是吗?我错过了什么吗?

另外,如果我想实际测试一个真正的 api 调用的结果怎么办?这是否会将我推入功能测试领域?是否可以使用 Jest 之类的工具对 api 调用进行真正的测试,还是更适合 selenium 或 testcafe 之类的工具?

hdo*_*val 5

如果您想测试对真实 api 的调用,并且该调用是由前端应用程序完成的,TestCafe 提供了请求挂钩,可以检查 api 是否以正确的方式调用以及响应是否包含正确的数据.

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