最近用 Rails 写一个小项目,在写测试时遇到一个问题。我用 rspec 来写测试,rspec-rails 会自动生成用于测试 views 的相关代码,但是我看了几个开源的 Rails 项目,如 ruby-china,似乎都没有保留这些单独测试 views 的代码 (即spec/views目录),所有我想问:views 是否需要进行单独的测试?
spec/views
测试 view 的成本挺大的,所以很多项目都不测。而且页面层的变动比较快,写起来成本就大了。 所以程序员更愿意去写 Model 的测试。最多 Controller 的。
一般就人肉看看页面。核心的东西有 Capybara 去覆盖。除非页面有些东西很重要,为了避免修改的时候忘记了,可以测试下。比如某个 form 必须要有个 hidden field。
#1 楼 @hlxwell #2 楼 @doitian 谢谢两位,我去了解下 Capybara 看看。
麻烦,一般不写。页面变动测试几乎都要失效,没有重用性就没有意义。
我们都很烂,交给测试 mm 吧