我的spec
文件夹中有两个测试,当我单独运行它们时它们都是绿色的:
rspec spec\temp_stab_target_spec.rb
32 examples, 0 failures
rspec spec\mock_spec.rb
10 examples, 0 failures
但当我运行所有这些时:
rspec spec
42 examples, 32 failures
spec\mock_spec.rb
的所有内容都在传递,spec\temp_stab_target_spec.rb
的所有内容都不是
我做了一些研究,发现我遇到了与讨论here相同的问题。当我检查ARGV
时,它包含spec
。我尝试使用before(:each) { ARGV.clear }
,但没有用。
另外,当我检查ARGV
刚刚运行rspec spec\temp_stab_target_spec.rb
时,它是空的。
有人可以解释发生了什么或帮助我解决这个问题吗?我将扩展套件,我希望能够立即运行所有测试,而不是单独运行。
如果相关,我正在运行ruby 1.8.7 (2012-02-08 patchlevel 358) [i386-mingw32]
和rspec 2.12.2
。
提前致谢
答案 0 :(得分:0)
不要在测试中使用对ARGV的引用!
将这样的东西输入到您正在测试的代码中。使用构造函数,工厂方法或任何有助于从难以测试的部分中解释代码的方法。