模型需要测试验证规则吗?谢谢你的帮助。
答案 0 :(得分:1)
如果您对单元(型号)和集成规格感到自信,并且它为您的应用提供足够的覆盖范围,您可以忽略其他应用。如果你正在做那两个我可以告诉你,你做的比平均开发人员多。大多数开发人员也只是使用它们。
但是当你有一个巨大的应用程序时,你应该考虑控制器测试是否有用。我的意思是,在集成测试中,您不应该测试http响应或者某些文本是否在h1 HTML标记内,因为如果您更改视图,则需要更改集成测试,而不是仅仅更改视图测试(如果有)。
有很多类型的测试,因此您可以将您的功能分解为多个部分,然后您就可以看到出现了什么问题。是模特吗?控制器?
但完全不要强迫自己编写你觉得对你没用的测试
答案 1 :(得分:1)
在控制器规范中有更容易实现的测试。
一个例子:
方案: 一个人希望测试对一组视图的授权访问(让我们假设将非授权用户重定向到登录页面)。
集成测试方法: 这可以通过集成测试来测试视图,执行速度往往较慢(访问登录页面,填写凭证字段并按回车,访问页面进行测试......)
控制器测试方法: 可以测试每个控制器的方法并检查响应代码。响应是重定向吗? (代码200)。此外,由于控制器中的方法是rails应用程序的入口点,因此可以肯定控制器规范涵盖了其他视图。
答案 2 :(得分:0)
我使用此指南https://github.com/bbatsov/rails-style-guide#rspec
您可以进行大量的集成测试,但速度非常慢。我喜欢制作很多控制器,模型和视图规格,然后只有几个集成规格。