Chr*_*ler 5 ruby-on-rails autotest zentest spork rspec-rails
我正在尝试配置自动测试,以便当我运行我的测试套件并且我有一个失败的测试时,自动测试停止测试并等待我再次测试之前进行更改.使用我当前的配置,当遇到失败的测试时,自动测试会不断地进行测试,这使得处理时有点麻烦(每次我遇到测试失败时都必须键入终端并停止自动测试服务器).
我正在使用RSpec,Zentest和Spork开发rails应用程序.
相关宝石版本:
autotest (4.4.6)
rspec (2.6.0)
rspec-core (2.6.4)
rspec-expectations (2.6.0)
rspec-mocks (2.6.0)
rspec-rails (2.6.1)
spork (0.9.0.rc8)
ZenTest (4.5.0)
Run Code Online (Sandbox Code Playgroud)
我的.autotest文件:
module Autotest::Notify
def self.notify title, msg, img, pri='low', time=3000
`notify-send -i #{img} -u #{pri} -t #{time} '#{msg}'`
end
Autotest.add_hook :ran_command do |autotest|
results = [autotest.results].flatten.join("\n")
output = results.slice(/(\d+)\s+examples?,\s*(\d+)\s+failures?(,\s*(\d+)\s+pending)?/)
folder = "~/.autotest_icons/"
if output =~ /[1-9]\d*\sfailures?/
notify "FAIL:", "#{output}", folder+"failed.png", 'critical', 10000
elsif output =~ /[1-9]\d*\spending?/
notify "PENDING:", "#{output}", folder+"pending.png", 'normal', 10000
else
notify "PASS:", "#{output}", folder+"passed.png"
end
end
end
Run Code Online (Sandbox Code Playgroud)
注意:我的.autotest文件的大部分内容都是让linux中的弹出窗口显示我的测试是通过还是失败.
我一直在寻找这个问题的答案并且没有运气,我发现很难掌握一些关于自动测试的好文档.我已在一直盯着的RDoc为Zentest相当长的一段时间,现在还有,我必须只是失去了一些东西.
任何帮助,示例链接等,将不胜感激.
小智 4
我遇到了同样的问题,发现我的开发服务器正在写入日志文件。将其添加到我的 .autotest 文件后,问题就消失了:
Autotest.add_hook :initialize do |at|
at.add_exception(%r{^\./\.git})
at.add_exception(%r{^\./log})
end
Run Code Online (Sandbox Code Playgroud)