RSpec自动测试循环失败,在添加异常时不起作用

时间:2012-06-25 14:30:20

标签: ruby rspec autotest

我一直在玩自动测试试图让它整天工作......但是我遇到了一些问题......

我一直关注https://github.com/rspec/rspec/wiki/autotest,我正在使用:

  • Ruby 1.9.3-p194
  • rspec 2.10.0
  • ZenTest 4.8.1

我还创建了一个.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'

然后它运行我的测试并显示结果......

任何人都知道会发生什么事吗?这非常令人沮丧,我觉得我已经到了路障......

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

自动测试检查定义的异常是否与文件名的任何部分匹配。您的规范在其路径中有db,因此自动测试会忽略它。

如果要忽略db文件夹,请执行以下操作:

Autotest.add_hook :initialize do |a|
  a.add_exception %r{^\./db}
end