【发布时间】:2018-08-15 04:29:17
【问题描述】:
我有一个服务器,它对 HTTP 请求执行一些复杂的业务逻辑操作。我想使用该服务器为前端编写单元测试和功能测试。在网上阅读了很多之后,我发现有很多方法可以实现这一点,我认为最适合我们情况的两种方法是:
- 保存静态响应 - 对于我要测试的每个场景,记录服务器响应,将响应保存在存储库中的文件中并在测试中使用。
- 创建一个 json 响应生成器,我可以轻松地为测试动态创建内容。
我在每个方面看到的优点和缺点: 对于静态文件:
优点:如果设置正确以记录后端响应 - 应该很容易实施新测试。
缺点:如果 API 发生变化,我没有好的方法来映射所有使用该 API 并知道更新测试的文件。这样做的结果是,甚至很难知道支持这种变化所需的变化范围是什么。
对于 JSON 生成器:
优点:很容易更改 API 响应,因为它在一个地方。
缺点:这方面的升级要复杂得多,并且需要一段时间才能轻松快速地添加测试。
当然,每种都有更多的优点和缺点,但在我看来,这些是两者之间最矛盾的。
我的问题是:
- 还有更多我们忽略的选项吗? (我不希望单元测试通过网络模拟服务器)
- 您推荐这两个中的哪一个,为什么?
- 这方面的最佳做法是什么?
谢谢,
【问题讨论】:
标签: javascript unit-testing mocking frontend