我有一台服务器,可以根据HTTP请求执行一些复杂的业务逻辑操作。我想使用该服务器为前端编写单元测试和功能测试。在网上阅读了很多书后,我发现有很多方法可以实现这一目标,我认为最适合我们的情况有两种:
我分别看到的利弊: 对于静态文件:
专家:给出了用于记录后端响应的正确设置-应该相当容易实施新测试。
缺点::如果API发生更改,那么我就没有办法映射使用该API并知道更新测试的所有文件。其结果是,甚至很难知道支持这种更改所需的更改范围。
对于JSON生成器:
优点:只需一处即可轻松更改API响应。
缺点:为此进行的准备工作要复杂得多,要花些时间才能轻松快速地添加测试。
当然每种都有优点和缺点,但是在我看来,这是两个之间最矛盾的地方。
我的问题是这些
谢谢,
答案 0 :(得分:0)
我会说这将属于集成测试类别。您的测试(理想情况下)不应该进行外部网络调用-前端或后端-因此,对数据进行模拟是必经之路。我将分享您的两个选择:
静态响应-这是最简单的方法,只要实际服务器响应的相差不大,就不会出错。在此处,将静态响应与“真实” API同步变得至关重要。您需要与开发API本身的团队紧密沟通,或者像您所说的那样,设计一种检测相关更改的方法。
响应生成器-我认为这是更可靠的方法,因为对API的任何更改都将反映在生成的响应中。它也与测试的集成方面有关,因为如果响应是由运行API的相同代码生成的,则可以确保包含所有新更改。
我建议您通过后端代码生成响应,并将集成测试合并到您的构建步骤中。话虽这么说,如果您在一个前端团队中使用不断变化的API而不需要团队知识,也许您需要研究您的通信方法,以便两个团队可以同步并最大程度地减少意外更改。