我知道有一些关于自动测试和zentest的问题,但我的问题似乎有点不同。就我而言,如果我用
运行autotest
除了状态消息“没有等待,因为......”之外没有其他任何事情发生。如果我用
运行它autotest -s rspec2
然后我的所有测试都会运行。如果我更改 spec 文件,则autotest知道并重新运行我的测试。但是,如果我更改控制器文件,那么我只是更新了“等待自...”消息,但没有运行任何测试。
任何想法发生了什么?或者有人可以指出我可以进一步研究这个问题吗?
.autotest(我实际上不知道#是如何评论一个部分的!)
require 'autotest/fsevent'
#require 'autotest/restart'
require 'autotest/growl'
require 'autotest/timestamp'
我从不使用“sudo gem install”,因为我使用的是rvm。所以只有“gem install X”
答案 0 :(得分:1)
答案 1 :(得分:0)
您需要的唯一宝石是autotest
,因此请卸载其余宝石。 (可选)您可以在Mac上使用autotest-fsevent
和autotest-growl
。
确保autotest/discover.rb
包含以下内容:
Autotest.add_discovery { "rails" }
Autotest.add_discovery { "rspec2" }
它应该由rails generate rspec:install
如果您的应用目录中有其他目录,则可以通过制作.autotest
文件将其添加到自动测试中,其中包含以下内容:
Autotest.add_hook :initialize do |at|
at.add_mapping(%r%^spec/(.*)_spec\.rb$%) { |filename, _| filename }
at.add_mapping(%r%^app/(.*)\.rb$%) { |_, m| ["spec/#{m[1]}_spec.rb"] }
end
(基于Rails3和RSpec2的答案)