我可以使用Guard / Spork更改每次在Rspec中运行的随机化种子吗?

时间:2013-01-18 05:25:31

标签: ruby-on-rails-3.2 rspec2 guard spork

我目前正在使用Rspec进行测试,以及Guard和Spork以方便使用。我注意到除非我退出并重新启动Guard,否则随机种子在运行之间不会改变。虽然这不是一个主要问题,但如果确实如此,它将会很方便。

任何人都知道改变事物的方法,以便每次运行测试时都使用新种子吗?

4 个答案:

答案 0 :(得分:3)

我将--order rand:$RANDOM标志添加到我的Guardfile中:

guard 'rspec', zeus: true, cli: '--color --order rand:$RANDOM' do
  watch(...)
end

答案 1 :(得分:2)

是的,以下适用于我。添加到spec_helper.rb:

Spork.each_run do
  RSpec.configuration.seed = srand && srand % 0xFFFF
end

From here

答案 2 :(得分:0)

您使用的是哪个版本?

我正在使用guard(1.6.2),rspec(2.13.0)。我没有使用spork,但是它为我随机化种子。

以下是我在spec_helper中的相关信息:

RSpec.configure do |config|
  config.order = 'random'
end

答案 3 :(得分:0)

如果你想在spring上下文中有随机顺序,但也使用config.seed = srand % 0xFFFF unless ARGV.any? { |arg| arg =~ /seed/ } 参数添加:

spec_helper.rb

- (BOOL)isToggleTurnedOn { return ([self checkToggleStatus] != [self checkOtherToggle]); }