這個問題聽起來很愚蠢,但我從來沒有在網上找到答案來做到這一點。 假設你有一個測試套件,這樣的頁面: http://en.wikibooks.org/wiki/Ruby_Programming/Unit_testing 或代碼:Ruby測試:單元,如何知道測試套件中每個測試用例的失敗/傳遞狀態?
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
運行的代碼(什麼樣的)
>> 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},]
我是新來的測試,而是不顧一切地知道答案......
你到底想幹什麼?據我所知,你可以從命令行運行文件,在這種情況下,測試/單元將報告單個失敗的測試。 – 2012-02-28 23:36:25
將結果保存在Excel文件中。我的目標是將每個測試用例的通過/失敗狀態保存到一個Excel文件中。結果如'已啓動F ..在0.016001秒內完成.3次測試,3次斷言,1次失敗,0次錯誤'不能說明細節;它確實告訴行號失敗,但仍然不好格式 – 2012-02-29 04:13:13
我有測試套件包括許多測試用例,單獨運行它們是一種方式,但仍然需要編寫一個幼稚的函數來收集屏幕結果...似乎繞道而行... – 2012-02-29 04:17:47