我一直在玩自动测试试图让它整天工作......但是我遇到了一些问题......
我一直关注https://github.com/rspec/rspec/wiki/autotest,我正在使用:
我还创建了一个.rspec文件。
所以使用这个设置,我运行自动测试,它运行 - 我的测试运行,它通过,万岁!当我在测试中遇到失败时,例如false.should == true,然后测试开始循环,一遍又一遍。
发生的是它是一个集成测试,我正在写一个sqlite数据库。如果我运行find . -mmin -1
,那么我能够看到我的db文件夹已经更改 - 所以我认为这是问题所在。
所以我编辑.autotest并添加以下内容:
Autotest.add_hook :initialize do |autotest|
%w{db}.each { |exception| autotest.add_exception(exception) }
false
end
但是现在当我运行自动测试时,它只是说出以下内容:
loading autotest/rspec2
就是这样,它将不再做任何事情了。以前的输出是:
loading autotest/rspec2
/home/me/.rbenv/versions/1.9.3-p194/bin/ruby -rrubygems -S
'/home/me/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rspec-core-2.10.1/exe/rspec' ``--tty '/home/me/Workspace/myproject/spec/integration/db/lead_spec.rb'
然后它运行我的测试并显示结果......
任何人都知道会发生什么事吗?这非常令人沮丧,我觉得我已经到了路障......
感谢您的帮助!
答案 0 :(得分:0)
自动测试检查定义的异常是否与文件名的任何部分匹配。您的规范在其路径中有db
,因此自动测试会忽略它。
如果要忽略db
文件夹,请执行以下操作:
Autotest.add_hook :initialize do |a|
a.add_exception %r{^\./db}
end