我们正在使用Laravel构建API,我们面临一个基本问题:
我们是否应该测试所有内容(每个模型,控制器和任何其他类中的每个方法)?或者只是测试API端点,因为测试端点意味着将测试其他所有内容,因为API端点正在使用Controller的方法,而后者又使用Model的方法!
事实上,我倾向于后者测试端点将帮助您测试其他所有内容,但我需要确保这是正确的做法。
修改
考虑以下两点:
任何提示或评论都将不胜感激。
答案 0 :(得分:5)
双方都有争论和支持者。我怀疑有很多关于这个主题的意见,因为开发人员正在进行任何形式的开发人员测试。
简而言之:
我喜欢最近使用的twitter用户@everzet:
当它们变绿时,所有测试看起来都一样。当他们红了你的时候 看到真正的差异。
另一方面,集成测试在重构时提供更多自由。如果仅在API级别进行测试,则可以在不影响测试的情况下更改整个实现。如果您在单元级别进行测试,则重构可能意味着您必须更新/重写大量测试。