Этот вопрос звучит глупо, но я так и не нашел ответа в Интернете, чтобы сделать это. Предположим, у вас есть набор тестов, как эту страницу: http://en.wikibooks.org/wiki/Ruby_Programming/Unit_testing или код:Ruby Test: Unit, как узнать состояние fail/pass для каждого тестового примера в тестовом наборе?
require "simpleNumber"
require "test/unit"
class TestSimpleNumber < Test::Unit::TestCase
def test_simple
assert_equal(4, SimpleNumber.new(2).add(2))
assert_equal(4, SimpleNumber.new(2).multiply(2))
end
def test_typecheck
assert_raise(RuntimeError) { SimpleNumber.new('a') }
end
def test_failure
assert_equal(3, SimpleNumber.new(2).add(2), "Adding doesn't work")
end
end
Running код: (? Какой вид)
>> ruby tc_simpleNumber2.rb
Loaded suite tc_simpleNumber2
Started
F..
Finished in 0.038617 seconds.
1) Failure:
test_failure(TestSimpleNumber) [tc_simpleNumber2.rb:16]:
Adding doesn't work.
<3> expected but was
<4>.
3 tests, 4 assertions, 1 failures, 0 errors
Теперь, как использовать переменную, чтобы сохранить результаты тестирования? например, массив так:
[{:name => 'test_simple', :status => :pass},
{:name => 'test_typecheck', :status => :pass},
{:name => 'test_failure', :status => :fail},]
Я новичок в тестировании, но отчаянный знать ответ ...
Что вы пытаетесь сделать? Насколько я помню, вы могли просто запустить файлы из командной строки, и в этом случае test/unit сообщит о отдельных неудачных тестах. –
Сохранить результаты в файле Excel. Моя цель - сохранить статус pass/fail для каждого тестового примера в файле Excel. Результаты вроде 'Started F .. Закончены в 0.016001 секундах.3 тестах, 3 утверждениях, 1 неудачах, 0 ошибках' не могут рассказать детали; он показывает номер строки, который терпит неудачу, но все еще не очень хороший формат. –
У меня есть тестовые комплекты, которые включают в себя множество тестовых примеров, управление ими индивидуально - это способ, но для этого все еще нужно написать наивную функцию для сбора результата экрана ... кажется, объезд ... –