¿Cómo puedo hacer que las pruebas de mi aplicación Rails se ejecuten en orden aleatorio? ¿Hay una solución simple usando rastrillo?Ruby - Ejecutando pruebas en orden aleatorio con rastrillo
Respuesta
Es posible que desee comprobar hacia fuera "ZenTest 3.9.0: ahora con más mal" (no se puede hacer un enlace directo, utilizar la caché de Google)
Added ability to set test execution order, defaults to :random. EVIL!
Jugué algo de tiempo con ZenTest, pero nunca adivino cómo habilitar el orden aleatorio. Quiero decir, el orden de ejecución predeterminado es fijo y permanece igual en diferentes ejecuciones de prueba. –
Aquí tiene, definir esto en 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
Tenga en cuenta que dentro de las pruebas de archivos todavía se ejecutará en el orden en que aparecen. Supongo que podrías usar la unidad de prueba de parche mono para permitir eso.
Gracias Sam. Esto no me funciona, y en realidad la solución que publicó es la misma a la que vine: simplemente mezcle la matriz que contiene la lista de archivos de prueba para ejecutar. De hecho, el orden de los archivos de prueba que pasa al rastreador TestTask parece ser ignorado, lo que significa que internamente rake clasificará esta lista alfabéticamente en el nombre del archivo. Verifico este comportamiento al ejecutar la tarea de rake con la opción TESTOPTS = "- v" para supervisar el orden de ejecución de la prueba real. Estas son las versiones que utilizo: Ruby: 1.8.6 - 114 RubyGems: 1.3.5 Rake: 0.8.7 Rieles: 2.3.3 ¿Tiene más ideas? ¡Tx! –
- 1. ¿Puedo hacer que NUnit ejecute pruebas en orden aleatorio?
- 2. Ejecutando XUnit.net Pruebas con TestDriven.net
- 3. Devuelve filas en orden aleatorio
- 4. matriz multidimensional en orden aleatorio
- 5. MapReduce método de orden aleatorio
- 6. Ejecutando un servidor web dentro de las pruebas de ruby
- 7. Orden aleatorio de filas Matlab
- 8. linq: ordenar por orden aleatorio
- 9. Ejecutando dos pruebas con argumentos diferentes
- 10. Ejecutando pruebas JUnit con Maven bajo Eclipse
- 11. Reorganizar NSArray/MSMutableArray en orden aleatorio
- 12. orden aleatorio de imágenes en php
- 13. Métodos de llamada en orden aleatorio (C#)
- 14. Ruby on Rails: Depuración de tareas rastrillo
- 15. ¿Cómo puedo hacer que mis pruebas JUnit se ejecuten en orden aleatorio?
- 16. rake no ejecutando pruebas unitarias
- 17. Algoritmo para generar orden aleatorio de elementos
- 18. ¿Cómo hacer un orden controlado "aleatorio"?
- 19. Ejecutando pruebas VSTS sin mstest.exe
- 20. Esquema XSD que permite el orden aleatorio
- 21. Utilizando el valor de inicialización del rastrillo en la unidad y pruebas funcionales
- 22. php orden aleatorio de un foreach
- 23. Visitar los puntos en un triángulo en un orden aleatorio
- 24. rastrillo falla con "temporizador expiró virtual"
- 25. Internet Explorer muestra atributos XML en orden aleatorio
- 26. MSTest ejecutando todas mis pruebas simultáneamente rompe pruebas - qué hacer
- 27. Ruby, generar un color hexadecimal aleatorio
- 28. Ejecute pruebas de PHPUnit en cierto orden
- 29. Obtener QUnit para ejecutar pruebas en orden
- 30. Orden de ejecución de pruebas en TestNG
¿Por qué querrías hacer eso? –
Para asegurarse de que no haya dependencias entre las pruebas? –
Sí, el punto principal para nosotros es garantizar que no haya dependencias entre las pruebas. –