问题摘要:当我更改文件中引用的任何页面时,自动测试是否应该“触发”我的任何 /pages_controller_spec.rb 测试?
示例:我在 spec/controller/pages_controller_spec.rb 文件中有一个测试特定页面的标题的测试 - 例如 about.html.erb - 但是当我编辑该文件(关于文件)时,我的自动测试都不会触发. 如果我重新加载自动测试或运行手动“rspec spec/”,所有测试都会通过——它们只是不会自动触发,这正是我想要的。
这似乎是设计使然,因为当我运行 autotest -v 时,它显示没有与所讨论的各个页面相关联的测试 - 摘录:
...
没有匹配的测试 app/views/pages/contact.html.erb
没有匹配的测试 app/views/pages/help.html.erb
没有匹配的测试 app/views/pages/home.html.erb
...
我的所有测试都运行绿色顺便说一句,当我编辑与它关联的特定 _spec 文件的文件时,自动测试 + spork/etc 触发就好了(例如,我的示例中的上述文件和 app/controllers/pages_controller.rb)。真正困扰我的只是这些 html.erb 文件。
所以我想我真正的问题归结为:这个用户错误还是自动测试真的忽略了这些相关的 html.erb 文件?如果我想要测试这些文件,我是否必须编写明确的测试来命中这些文件?这对我来说似乎是错误的,因为我可以通过从 html.erb 文件中删除行/等来完全破坏我的测试(但不更改基本 pages_controller.rb 文件),并且在这种情况下自动测试不会触发测试..
环境细节等:
我正在使用 ZenTest/autotest 和 Spork 运行 rails 3.0.1。这个问题在 Spork 运行和没有运行的情况下都存在,所以我猜它不相关,但这是我的 Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.0.1'
gem 'sqlite3-ruby', :require => 'sqlite3'
group :development do
gem 'rspec-rails'
end
group :test do
gem 'rspec-rails'
gem 'webrat', '0.7.1'
gem 'test_notifier'
gem 'spork', '~> 0.9.0.rc'
end
这是 Ubuntu 10.1,如果重要的话,使用一个简单的 Kate/Terminal “IDE”。但我再次认为这是一个配置问题,而不是环境问题或错误。