tutorial - ¿Cómo ejecuto una prueba única usando Ruby test/unit?
rspec rails tutorial (2)
En lugar de ejecutar todos los casos de prueba de forma automática, ¿hay alguna forma de ejecutar una sola prueba bajo prueba de Ruby / marco de la unidad. Sé que puedo lograr eso usando Rake pero no estoy listo para cambiar a Rake en este momento.
ruby unit_test.rb #this will run all the test case
ruby unit_test.rb test1 #this will only run test1
Si busca una solución sin shell, podría definir una TestSuite.
Ejemplo:
gem ''test-unit''
require ''test/unit''
require ''test/unit/ui/console/testrunner''
#~ require ''./demo'' #Load the TestCases
# >>>>>>>>>>This is your test file demo.rb
class MyTest < Test::Unit::TestCase
def test_1()
assert_equal( 2, 1+1)
assert_equal( 2, 4/2)
assert_equal( 1, 3/2)
assert_equal( 1.5, 3/2.0)
end
end
# >>>>>>>>>>End of your test file
#create a new empty TestSuite, giving it a name
my_tests = Test::Unit::TestSuite.new("My Special Tests")
my_tests << MyTest.new(''test_1'')#calls MyTest#test_1
#run the suite
Test::Unit::UI::Console::TestRunner.run(my_tests)
En la vida real, la clase de prueba MyTest se cargará desde el archivo de prueba original.
puede pasar la opción -n en la línea de comando para ejecutar una prueba única:
ruby my_test.rb -n test_my_method
donde ''test_my_method'' es el nombre del método de prueba que le gustaría ejecutar.