Ruby 单元测试 - 访问测试结果 (success/failure)?
Ruby unit testing - access test result (success/failure)?
我正在使用 Ruby 2.2。我需要 运行 单元测试并获取成功或失败的信息。我正在浏览 test-unit 和 minitest 的文档(建议在 Ruby 2.2 中进行单元测试),但我似乎找不到可以 return 或在某处存储有关的信息的方法测试结果。
我需要的是是否测试failed/succeeded的信息,我需要从Ruby的级别访问它。我想我必须使用特定的方法来 运行 测试 - 到目前为止,我只能通过 运行 测试文件来 运行 单个测试,而不是通过调用任何方法。
也许这只是我对 Ruby 的了解不足,无论如何,我将不胜感激。
也许您可以 运行 使用 Ruby 对 运行 shell 命令的能力和 return 结果进行测试。
这是 test-unit 的示例:
test_output = `ruby test.rb --runner console --verbose=progress`
failed_tests = test_output.chomp.split('').count('F')
passed_tests = test_output.chomp.split('').count('.')
puts "P: #{passed_tests}, F: #{failed_tests}"
我们正在使用 --verbose=progress
选项,以便我们获得最小输出。它将如下所示:
.F...F
我们计算 F
的数量,以确定有多少测试失败。
关于测试输出,示例程序将打印:
P: 4, F: 2
另一种选择是使用 passed?
方法:
https://ruby-doc.org/stdlib-2.1.1/libdoc/minitest/unit/rdoc/MiniTest/Unit/TestCase.html#method-i-passed-3F
不确定 Ruby 的最新版本是否仍然可用,因此请在使用前检查。
我正在使用 Ruby 2.2。我需要 运行 单元测试并获取成功或失败的信息。我正在浏览 test-unit 和 minitest 的文档(建议在 Ruby 2.2 中进行单元测试),但我似乎找不到可以 return 或在某处存储有关的信息的方法测试结果。
我需要的是是否测试failed/succeeded的信息,我需要从Ruby的级别访问它。我想我必须使用特定的方法来 运行 测试 - 到目前为止,我只能通过 运行 测试文件来 运行 单个测试,而不是通过调用任何方法。
也许这只是我对 Ruby 的了解不足,无论如何,我将不胜感激。
也许您可以 运行 使用 Ruby 对 运行 shell 命令的能力和 return 结果进行测试。
这是 test-unit 的示例:
test_output = `ruby test.rb --runner console --verbose=progress`
failed_tests = test_output.chomp.split('').count('F')
passed_tests = test_output.chomp.split('').count('.')
puts "P: #{passed_tests}, F: #{failed_tests}"
我们正在使用 --verbose=progress
选项,以便我们获得最小输出。它将如下所示:
.F...F
我们计算 F
的数量,以确定有多少测试失败。
关于测试输出,示例程序将打印:
P: 4, F: 2
另一种选择是使用 passed?
方法:
https://ruby-doc.org/stdlib-2.1.1/libdoc/minitest/unit/rdoc/MiniTest/Unit/TestCase.html#method-i-passed-3F
不确定 Ruby 的最新版本是否仍然可用,因此请在使用前检查。