【发布时间】:2012-02-28 06:36:30
【问题描述】:
这个问题听起来很愚蠢,但我从来没有在网上找到答案。 假设你有一个像这个页面这样的测试套件: http://en.wikibooks.org/wiki/Ruby_Programming/Unit_testing 或代码:
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},]
我是测试新手,但很想知道答案...
【问题讨论】:
-
你想做什么?据我记得,您可以只从命令行运行文件,在这种情况下 test/unit 将报告单个失败的测试。
-
将结果保存在 Excel 文件中。我的目标是将每个测试用例的通过/失败状态保存到 Excel 文件中。像
Started F.. Finished in 0.016001 seconds.3 tests, 3 assertions, 1 failures, 0 errors这样的结果无法说出细节;它确实告诉行号失败,但格式仍然不好 -
我有测试套件来包含许多测试用例,单独运行它们是一种方法,但这仍然需要编写一个简单的函数来收集屏幕结果......似乎绕道......
标签: ruby unit-testing testing testunit