【发布时间】:2020-12-10 12:04:58
【问题描述】:
我正在开发一个包含 731 次测试的应用程序,如果 6 次失败,我必须滚动浏览 731 行以尝试发现每个失败,以便解决问题。
minitest 有没有办法在底部打印所有失败的测试?或者任何可以帮助我确定哪些测试失败的方法?
【问题讨论】:
标签: ruby-on-rails testing minitest stderr
我正在开发一个包含 731 次测试的应用程序,如果 6 次失败,我必须滚动浏览 731 行以尝试发现每个失败,以便解决问题。
minitest 有没有办法在底部打印所有失败的测试?或者任何可以帮助我确定哪些测试失败的方法?
【问题讨论】:
标签: ruby-on-rails testing minitest stderr
我经常使用大量测试,其中一些测试具有相当详细的诊断输出。所以我将STDOUT 和STDERR 重定向到一个日志文件,然后将grep 重定向到该文件以显示如下错误:
bundle exec rake test:all &> test.log
grep -P -i -C3 'error|fail' test.log
示例输出:
...
Failure:
FooBarTest#test_foo [/path/to/foo_bar_test.rb:64]:
Expected: 3
Actual: 4
...
Finished in 3.945161s, 13.9411 runs/s, 162.4775 assertions/s.
55 runs, 641 assertions, 1 failures, 0 errors, 0 skips
这里,grep 使用选项运行:-P:使用 Perl 正则表达式,-i:不区分大小写,-C3:打印上面 3 行和下面 3 行匹配行,以提供失败测试的更多上下文。
有时我会跟进并查看编辑器中的测试日志文件以获取有关诊断消息等的详细信息。但grep 摘要为我提供了大多数情况下我需要的大部分上下文。
【讨论】: