Làm cách nào để thử nghiệm ứng dụng Rails của tôi được thực hiện theo thứ tự ngẫu nhiên? Có giải pháp đơn giản nào khi sử dụng cào không?Ruby - Thực hiện kiểm tra theo thứ tự ngẫu nhiên với rake
Trả lời
Bạn có thể muốn kiểm tra "ZenTest 3.9.0: bây giờ với Ác hơn" (không thể làm một liên kết trực tiếp, sử dụng bộ nhớ cache của google)
Added ability to set test execution order, defaults to :random. EVIL!
Tôi đã chơi một số thời gian với ZenTest, nhưng tôi không bao giờ đoán làm thế nào để kích hoạt thứ tự ngẫu nhiên. Ý tôi là, thứ tự thực hiện mặc định là cố định và vẫn giữ nguyên trên các lần thực hiện kiểm tra khác nhau. –
Ở đây bạn đi, xác định này trong lib/tasks/tasks.rb
namespace :test do
namespace :randomize do
desc "Randomize tests"
Rake::TestTask.new(:all => "db:test:prepare") do |t|
t.libs << "test"
t.test_files = Rake::FileList[
'test/unit/**/*_test.rb',
'test/functional/**/*_test.rb',
'test/integration/**/*_test.rb'
].shuffle
t.verbose = true
end
end
end
Run: rake test:randomize:all
Hãy ghi nhớ rằng trong các bài kiểm tra tập tin vẫn sẽ được thực hiện theo thứ tự chúng xuất hiện. Tôi đoán bạn có thể kiểm tra đơn vị kiểm tra khỉ để cho phép điều đó.
Cảm ơn Sam. Điều này không phù hợp với tôi, và thực sự giải pháp bạn đã đăng là cùng một giải pháp mà tôi đã đưa ra: chỉ cần trộn mảng chứa danh sách tệp thử nghiệm để thực thi. Như một vấn đề của thực tế, thứ tự của các tập tin kiểm tra bạn vượt qua để rake TestTask dường như bị bỏ qua, có nghĩa là trong nội bộ sẽ sắp xếp danh sách này alfabetically trên tên của tập tin. Tôi xác minh hành vi này thực thi tác vụ rake với tùy chọn TESTOPTS = "- v", để theo dõi thứ tự thực thi kiểm tra thực tế. Dưới đây là các phiên bản tôi sử dụng: Ruby: 1.8.6 - 114 RubyGems: 1.3.5 Rake: 0.8.7 Rails: 2.3.3 Bạn có nhiều ý tưởng? Tx! –
- 1. Rails: mỗi theo thứ tự ngẫu nhiên
- 2. Phương thức gọi theo thứ tự ngẫu nhiên (C#)
- 3. Trả lại các hàng theo thứ tự ngẫu nhiên
- 4. Phương pháp kiểm tra JUnit với tính chất ngẫu nhiên
- 5. Kiểm soát thứ tự thực hiện Tác vụ với ExecutorService
- 6. Thứ tự Div ngẫu nhiên khi tải trang
- 7. Giản đồ XSD cho phép thứ tự ngẫu nhiên
- 8. Tuyên bố foreach có lặp lại theo thứ tự hoặc có thể là thứ tự ngẫu nhiên không?
- 9. php thứ tự ngẫu nhiên từ một foreach
- 10. Làm thế nào để lặp qua dict theo thứ tự ngẫu nhiên trong Python?
- 11. Internet Explorer hiển thị thuộc tính XML theo thứ tự ngẫu nhiên
- 12. Không thể tiếp tục hoạt động theo thứ tự ngẫu nhiên
- 13. Mẫu lệnh: Thực hiện nhiều lệnh theo thứ tự
- 14. Thực hiện `kiểm tra` hoặc 'thực hiện kiểm tra'
- 15. số ngẫu nhiên không quá ngẫu nhiên
- 16. Thứ tự kiểm tra Django TestCase
- 17. Trật tự thực hiện trường hợp kiểm tra trong pytest
- 18. EXC_BAD_ACCESS ngẫu nhiên với persistentStoreCoordinator
- 19. Kiểm tra Nhiệm vụ Rake
- 20. RegisterStartupScript và thứ tự thực hiện
- 21. Làm cách nào để các trường hợp kiểm tra JUnit chạy theo thứ tự tuần tự?
- 22. Sử dụng số ngẫu nhiên với GPU
- 23. Sử dụng Moq để xác minh các cuộc gọi được thực hiện theo đúng thứ tự
- 24. Rails console và kiểm tra rake: unit
- 25. Tại sao nó xuất hiện máy phát số ngẫu nhiên của tôi không phải ngẫu nhiên trong C#?
- 26. Perl readdir theo thứ tự
- 27. số C# ngẫu nhiên không là "ngẫu nhiên"
- 28. Trình tự ngẫu nhiên của Python với hạt giống
- 29. Thứ tự thực hiện trong NUnit là gì?
- 30. Lặp lại từ điển với foreach, theo thứ tự nào được thực hiện?
Tại sao bạn muốn làm điều đó? –
Để đảm bảo rằng không có sự phụ thuộc giữa các thử nghiệm? –
Vâng, điểm chính của chúng tôi là đảm bảo rằng không có sự phụ thuộc giữa các thử nghiệm. –