替换用于集成测试的rails控制器测试应始终保持到db?

时间:2017-12-27 14:55:46

标签: ruby-on-rails integration-testing ruby-on-rails-5

我发现Rails集成测试与测试流程相关,我对使用集成测试替换控制器测试(在rails 5中已弃用)的行业标准有一些疑问。

通常我们有微小的控制器,我们获取参数,调用正确的协作者并准备响应,通过直接在控制器对象上模拟协作者,可以很容易地测试它。

我担心将每个控制器测试迁移到持久化db的集成测试的开销。这种情况的标准是什么?

当测试一个路线/动作而不是完整的流程时,标准是什么?

我们如何替换它?:

java.util.Date

1 个答案:

答案 0 :(得分:1)

集成测试旨在模仿真实用户。他们的意思是完整地测试整个应用程序。

意见因这意味着什么不同。对我来说,这意味着你应该完全避免抄袭/嘲笑。没有一件事被抄写或嘲笑,一切都完整执行。这意味着我编写的每个集成测试都会经过输入用户名和密码的实际身份验证过程。有些步骤是多余的,是的。

集成测试比单元/控制器测试慢。削减身份验证步骤可能不会为您节省足够的时间从长远来看(无双关语)。