Как вывести имена юнит-тестов ruby - PullRequest
12 голосов
/ 09 января 2009

У меня есть модульный тест (пример изменен Тест :: Документация по единице )

require 'test/unit'

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

Когда я его выполняю, я получаю:

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

1 tests, 1 assertions, 0 failures, 0 errors

Я хотел бы получить что-то вроде этого (выводится test_something):

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

1 tests, 1 assertions, 0 failures, 0 errors

Ответы [ 3 ]

15 голосов
/ 09 января 2009

Если вы тестируете в рельсах, вы можете использовать

rake test TESTOPTS=-v
8 голосов
/ 09 января 2009

Запуск модульного теста с опцией verbose .

test.rb -v v

или

test.rb --verbose=verbose

Выход:

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

Finished in 0.0 seconds.

1 tests, 1 assertions, 0 failures, 0 errors
4 голосов
/ 09 января 2009

Параметры командной строки не работают, если вы создаете свой собственный бегун теста:

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

Вам нужно будет указать многословие в тесте бегуна. Test :: Unit :: UI options :

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

Итак, для многословия:

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