2017-07-18 40 views
0

我已经使用WatirMinitest自动进行了网络测试。我在运行测试后得到这个总结。如何获得Minitest的测试总结?

Finished in 417.061643s, 0.0168 runs/s, 0.0719 assertions/s.

1) Failure: Map#test_maps_analysis_mode_ku060s [C:/Projects/Cbs Sandbox/tests/watir/map.rb:63]: Total die used. Expected: "103"

Actual: "102"

2) Error: Map#test_maps: Watir::Wait::TimeoutError: timed out after 10 seconds, waiting for false condition on #"overlay"}>

7 runs, 30 assertions, 1 failures, 1 errors, 0 skips

我需要在电子邮件中获取摘要。如果可能的话,我也想包括成功的测试列表。

如何做到这一点?

+0

https://chriskottom.com/blog/2014/06/dress-up-your-minitest-output/ 您可以打印测试名称,或将其存储在数组中。或者甚至打电话给邮件程序,但现在开箱即用,不提供此功能。 –

+0

或覆盖默认的记者,http://nandovieira.com/creating-custom-minitest-reporters –

回答

1

使用Rake将所有测试作为一个ruby应用程序运行。

首先,gem install rake

然后文件名为“Rake文件”到你的项目根文件夹类似下面的代码:

require "rake/testtask" 

Rake::TestTask.new do |t| 
    t.test_files = FileList['tests/**/*_test.rb'] #my directory to tests is 'tests' you can change at you will 
end 
desc "Run tests" 

task default: :test 

添加一个简单的控制台MINITEST记者在项目中的某处(最好是在test_helper .RB,这是所有测试的超类):

Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new] 

最后,我用下一个批处理脚本日志存储在一个文件中:

Type NUL > results.log 
call rake >> results.log 

在results.log文件的末尾测试运行的摘要提供:

Finished in 631.09969s 
47 tests, 105 assertions, 10 failures, 0 errors, 0 skips 

然后,您可以分析结果。

+0

我可以使用rake读取测试摘要吗?阅读摘要后,我需要发送电子邮件。 – Codeformer

+0

我宁愿使用其他工具 - rake用于构建自动化。但你可以尝试 - 我没有太多的耙子经验,显然发送邮件并不难从耙 - https://gist.github.com/eignerchris/915009 你只需要找到如何获得耙直接输出 –