Jak mogę przeprowadzić testy dla mojej aplikacji Railsowej w losowej kolejności? Czy istnieje proste rozwiązanie przy użyciu prowizji?Ruby - Wykonywanie testów w losowej kolejności z prowizją
Odpowiedz
Możesz chcieć sprawdzić „ZenTest 3.9.0: teraz bardziej zło” (nie można zrobić bezpośrednie łącze, należy użyć cache Google'a)
Added ability to set test execution order, defaults to :random. EVIL!
Grałem trochę czasu z ZenTestem, ale nigdy nie zgaduję, jak włączyć losową kolejność. Domyślna kolejność wykonania jest stała i pozostaje taka sama w różnych testowych wykonaniach. –
Proszę, określić to w 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
należy pamiętać, że w testach plików nadal będą realizowane w kolejności ich występowania. Wydaje mi się, że można było przeprowadzić testową jednostkę testową, aby to umożliwić.
Dzięki Sam. Nie działa to dla mnie, a właściwie rozwiązanie, które wysłałeś, jest tym samym, do którego przyszedłem: po prostu przetasuj tablicę zawierającą listę plików testowych do wykonania. W rzeczywistości, kolejność plików testowych przekazywanych do testowania rake wydaje się być ignorowana, co oznacza, że wewnętrznie rake będzie sortował listę alfabetycznie na nazwie pliku. Weryfikuję to zachowanie wykonując zadanie rake z opcją TESTOPTS = "- v", aby monitorować rzeczywistą kolejność wykonywania testu. Oto wersje używać: Ruby 1.8.6 - 114 RubyGems: 1.3.5 Rake: 0.8.7 Rails 2.3.3 Czy masz więcej pomysłów? Tx! –
- 1. szyn: każdy w kolejności losowej
- 2. Jak zintegrować rubocop z prowizją?
- 3. Algorytm generowania losowej kolejności elementów
- 4. Czy możliwe jest uruchamianie testów testowych Common Test w losowej kolejności?
- 5. Nie można wznowić działalność w kolejności losowej
- 6. Wywołanie metod w kolejności losowej (C#)
- 7. Jak mogę uruchomić testy JUnit w losowej kolejności?
- 8. Wykonywanie określonych testów Geb zgodnie z otoczeniem
- 9. Wykonywanie skryptu ruby z cron
- 10. Tworzenie witryny IIS z prowizją
- 11. Jak iterować przez Dict w kolejności losowej w Pythonie?
- 12. Internet Explorer wyświetla atrybuty XML w losowej kolejności
- 13. Wyświetlanie kolejności wierszy w kolejności losowej w przewijaniu listy w Androidzie
- 14. Zatrzymaj wykonywanie skryptu Ruby
- 15. Czy mogę przeprowadzić test NUnit w losowej kolejności?
- 16. Ustawianie zdefiniowanej losowej kolejności dla tablicy w PHP
- 17. Wykonywanie testów graficznych w Monotouch iOS z poziomu wiersza poleceń
- 18. IntStream z losowej i losowej współbieżności
- 19. Wykonywanie testów jednostkowych za pomocą ServiceLocator
- 20. Wykonywanie testów jednostkowych z kontrolą dostępu do plików
- 21. W xUnit.net, czy możliwe jest uruchomienie testów w kolejności?
- 22. W językach C++ i C# są sprawdzane wiele warunków w ustalonej lub losowej kolejności?
- 23. Jak wyłączyć równoległe wykonywanie testów dla wersji wielo-projektowych?
- 24. Generowanie losowej liczby o losowej liczbie liczbowej w Objective-C
- 25. Tworzenie JavaScript - Kiedy powinienem rozpocząć wykonywanie testów jednostkowych?
- 26. W bashu, jak mogę mieć zestaw argumentów w dowolnej kolejności losowej? Podobnie jak para klucz-wartość?
- 27. Jak zatrzymać wykonywanie testów MsTest przy pierwszym błędzie?
- 28. Czy możliwe jest wykonywanie testów Nose tylko testów, które są podklasami TestCase lub TestSuite (jak unittest.main())
- 29. Problem z prowizją: "baza danych programowania nie jest skonfigurowana"
- 30. Równoległe wykonywanie testów zawiesza się w nieskończoność na sterowniku Webkit dla rspec
Dlaczego chcesz to zrobić? –
Aby upewnić się, że nie ma zależności między testami? –
Tak, głównym celem dla nas jest zapewnienie, że nie ma zależności między testami. –