Ruby on rails 3.2 我可以用Guard/Spork更改Rspec中每次运行的随机种子吗?

Ruby on rails 3.2 我可以用Guard/Spork更改Rspec中每次运行的随机种子吗?,ruby-on-rails-3.2,rspec2,guard,spork,Ruby On Rails 3.2,Rspec2,Guard,Spork,我目前正在使用Rspec进行测试,为了方便起见,还使用了Guard和Spork。我注意到,除非我退出并重新启动Guard,否则随机种子在运行之间不会改变。虽然这不是一个大问题,但如果它真的这样做了,它会很方便 有人知道一种方法来改变事情,使它在每次运行测试时都使用新的种子吗???您使用的是什么版本 我使用的是guard(1.6.2)、rspec(2.13.0)。我没有使用spork,但它为我随机化种子 以下是我的spec_助手中的相关部分: RSpec.configure do |config|

我目前正在使用Rspec进行测试,为了方便起见,还使用了Guard和Spork。我注意到,除非我退出并重新启动Guard,否则随机种子在运行之间不会改变。虽然这不是一个大问题,但如果它真的这样做了,它会很方便


有人知道一种方法来改变事情,使它在每次运行测试时都使用新的种子吗???

您使用的是什么版本

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

以下是我的spec_助手中的相关部分:

RSpec.configure do |config|
  config.order = 'random'
end
我在Guardfile中添加了
--order rand:$RANDOM
标志:

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

是的,下面这些对我很有用。添加到spec_helper.rb:

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

config.seed = srand % 0xFFFF unless ARGV.any? { |arg| arg =~ /seed/ }

对于
spec\u helper.rb

来说,问题不在于它没有随机排列顺序(配置很好),而在于它只在我重新启动spork时生成一个新种子。同样的问题。每次运行都以种子0随机化的
结束,即使是
spec\u helper.rb
中的标准随机顺序配置也是如此。你曾经得到过这个问题的答案吗?我使用Spring而不是Spork(基本上是一样的),RubeOnRails的答案对我来说非常有效。这个解决方案对我有效(每次都不同的“随机化种子”),而@RubeOnRails没有(总是使用种子0)。也许我的guard调用不是直接由$RANDOM生成的shell(如bash)运行的?我使用Ruby 2.1.4、Rails 4.0.2、Guard 2.6.1;登录shell是$RANDOM,提供bash。