ruby-on-rails – 使用rspec最佳实践进行Rails视图/控制器测试
对于控制器测试,Rails建议检查HTTP响应,身份验证,分配,会话和Flash消息等内容.但是在我现在正在使用的应用程序中,我看到很多带有response.body.should has_tag()的Rspec测试,据我所知,理想情况下它适用于视图测试.
我想知道的是: 这种不理想的测试方式是否有相当大的性能/其他类型的惩罚? 解决方法
如果您在控制器中渲染视图,这将使您的控制器测试花费更多时间.这完全取决于您是否认为测试视图元素的存在是否值得(这会使您的测试更加脆弱).如果这样做,那么在控制器规范中执行此操作会使其更容易,因为您不必编写单独的视图规范文件.
如果你想在你的视图上测试很多东西,那么你可能想要编写单独的视图规范.分离视图规范可能会使测试套件的总运行时间增加.但是,出于调试目的,可以清楚地看到视图中的某些内容是否与分离出来的控制器有关. 我怀疑大多数Rails程序员不会编写视图规范.相反,他们可能依靠他们的集成测试(Capybara / – Cucumber)来测试他们的观点.但是,集成测试比单元测试需要更多时间. RSpec书为编写单独的视图规范提供了以下参数:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |