2009-01-09 4 views
11

J'ai un test unitaire (par exemple est modifié Test::Unit documentation)Comment les noms de sortie de l'unité rubis teste

require 'test/unit' 

class TC_MyTest < Test::Unit::TestCase 
    def test_something 
    assert(true) 
    end 
end 

Quand je l'exécute, je reçois:

Loaded suite C:/test 
Started 
. 
Finished in 0.0 seconds. 

1 tests, 1 assertions, 0 failures, 0 errors 

Je voudrais obtenir quelque chose comme celui-ci (test_something est émis):

Loaded suite C:/test 
Started 
test_something 
. 
Finished in 0.0 seconds. 

1 tests, 1 assertions, 0 failures, 0 errors 

Répondre

8

Run test unitaire avec verbose option.

test.rb -v v 

ou

test.rb --verbose=verbose 

Sortie:

Loaded suite C:/test 
Started 
test_something(TC_MyTest): . 

Finished in 0.0 seconds. 

1 tests, 1 assertions, 0 failures, 0 errors 
+4

Vous n'avez pas besoin de = verbose après le --verbose, ou le v après -v ... juste en cours d'exécution avec -v ou --verbose fera l'affaire. –

4

options de ligne de commande ne fonctionne pas si vous créez votre propre lanceur de test:

Test::Unit::UI::Console::TestRunner.run(TC_MyTest) 

Vous devrez spécifiez la verbosité dans le testeur. Test::Unit::UI options sont:

SILENT = 0, PROGRESS_ONLY = 1, NORMAL = 2, verbose = 3.

Ainsi, verbeux:

Test::Unit::UI::Console::TestRunner.run(TC_MyTest, 3) 
14

Si vous testez dans des rails, vous pouvez utiliser

rake test TESTOPTS=-v