2

我有一个提供 AngularJS 应用程序的 php API。

我一直在寻找有关端到端测试和后端的最佳实践。

我应该在测试我的 Angular 应用程序时模拟我的后端应用程序,还是让它访问数据库并创建/更新/删除记录?

我认为这两种论点都有优点。


嘲讽的好处

如果我模拟 API,测试会更快、更可靠,并且从可控、一致的状态开始。

更少的事情会出错 - 移动部件更少。

由于 API 是一种合同,我应该对我得到的响应充满信心,并且因为它们是一个已知因素,所以可以轻松地嘲笑它们。


嘲笑的坏处

每次更新 API 时,我都必须更新我的模拟。

Mocking 会增加很多复杂且难以维护的代码(尽管这不是已成定局)


使用 API 的好处

测试将全面测试应用程序的广度和深度,从前端 JS 客户端到服务器端。


攻击 API 的坏处

较慢的测试 更多的设置(需要在本地进行测试,所以我必须运行并清理数据库) 不一致的起点(除非我不断清理数据库,否则无法测试页面的外观而没有项目)


我有点纠结该走哪条路。

单元测试显然会模拟出任何依赖关系,但端到端是另一回事。

想法?

4

0 回答 0