ruby-on-rails - Minitest——如何查看失败的测试
问题描述
我正在开发一个包含 731 次测试的应用程序,如果 6 次失败,我必须滚动浏览 731 行以尝试发现每个失败,以便我可以解决问题。
minitest 有没有办法在底部打印所有失败的测试?或者任何可以帮助我确定哪些测试失败的东西?
解决方案
我经常使用大量测试,其中一些测试具有相当详细的诊断输出。所以我重定向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
摘要为我提供了大多数情况下我需要的大部分上下文。
推荐阅读
- asp.net-core - 生成ServiceWorkerAssetsManifest Blazor
- list - 在不使用列表理解的情况下获取 Haskell 中列表的所有组合
- python - 如何使用 Pip 强制安装包?
- javascript - 如何在 [disabled] 属性中有条件?
- python - 如何在 python setup.py 中使用方括号安装依赖项?
- php - Laravel如何通过ajax按名称或ID搜索在前端仅显示用户帐户的附加患者
- html - 为什么即使您将边距设置为 0px,CSS 也会在按钮之间放置间距
- arrays - 指向结构中数组的指针
- python - 管道内的 ColumnTransformer
- javascript - 使用 react js 播放本地 mp3 文件而不导入