2013-01-18 20 views
5

Tôi hiện đang sử dụng Rspec để kiểm tra, cùng với Guard và Spork để thuận tiện. Tôi đã nhận thấy rằng trừ khi tôi bỏ và khởi động lại Guard, hạt giống ngẫu nhiên không thay đổi giữa các lần chạy. Trong khi đây không phải là một vấn đề lớn, nó sẽ có ích nếu nó đã làm.Tôi có thể thay đổi hạt giống ngẫu nhiên mỗi lần chạy trong Rspec bằng Guard/Spork không?

Bất kỳ ai biết cách thay đổi mọi thứ để nó sử dụng hạt giống mới mỗi lần chạy thử nghiệm ??

+0

Vấn đề tương tự. Mỗi lần chạy kết thúc bằng 'Randomized with seed 0', ngay cả với cấu hình thứ tự ngẫu nhiên chuẩn trong' spec_helper.rb'. Bạn đã bao giờ nhận được câu trả lời cho điều này chưa? – jordanpg

+0

Tôi sử dụng Spring thay vì Spork (về cơ bản giống nhau), và câu trả lời của RubeOnRails đã làm việc hoàn hảo cho tôi. –

Trả lời

0

Bạn đang sử dụng phiên bản nào?

Tôi đang sử dụng bảo vệ (1.6.2), rspec (2.13.0). Tôi không sử dụng spork nhưng nó ngẫu nhiên hạt giống cho tôi.

Dưới đây là bit có liên quan mà tôi có trong spec_helper tôi:

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

Vấn đề không phải là nó không ngẫu nhiên thứ tự (cấu hình là tốt), nó là nó chỉ tạo ra một hạt giống mới nếu tôi khởi động lại spork. –

3

tôi thêm --order rand:$RANDOM cờ để Guardfile tôi:

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

Điều đó hoạt động hoàn hảo. Cảm ơn! –

2

Vâng, các công trình sau đây cho tôi. Thêm vào spec_helper.rb:

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

From here.

+0

Giải pháp này làm việc cho tôi (khác nhau "ngẫu nhiên với hạt giống" mỗi lần) trong khi @ RubeOnRails của không (luôn luôn sử dụng hạt giống 0). Có lẽ lời gọi bảo vệ của tôi không được chạy trực tiếp bởi một trình tạo $ RANDOM như bash? Tôi sử dụng Ruby 2.1.4, Rails 4.0.2, Guard 2.6.1; shell đăng nhập là $ bANDOM-cung cấp bash. – jackr

0

Nếu bạn muốn có thứ tự ngẫu nhiên trong bối cảnh mùa xuân mà còn sử dụng các tham số --seed thêm này:

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

để spec_helper.rb.

Các vấn đề liên quan