Ruby on rails 在test.log中仅显示特定的测试用例

Ruby on rails 在test.log中仅显示特定的测试用例,ruby-on-rails,unit-testing,testunit,Ruby On Rails,Unit Testing,Testunit,我正在使用标准的Test::Unit/TestCase编写Rails测试 有没有办法过滤打印到日志中的内容,以便只打印特定测试用例的堆栈 我有一个包含许多测试用例的功能测试文件,我只对调试一个测试用例感兴趣。打印我自己的日志语句仍然需要搜索几千行生成的日志。或者类似于RSpec的“挂起”功能。从命令行ruby test/unit/my_model.rb运行一个测试套件。您还可以使用调试器,例如(包装为)RubyMine或pry,在特定测试用例上停止并查看日志 但是如果大锤不能解决问题,您可以在t

我正在使用标准的Test::Unit/TestCase编写Rails测试

有没有办法过滤打印到日志中的内容,以便只打印特定测试用例的堆栈


我有一个包含许多测试用例的功能测试文件,我只对调试一个测试用例感兴趣。打印我自己的日志语句仍然需要搜索几千行生成的日志。或者类似于RSpec的“挂起”功能。

从命令行
ruby test/unit/my_model.rb运行一个测试套件。您还可以使用调试器,例如(包装为)RubyMine或pry,在特定测试用例上停止并查看日志


但是如果大锤不能解决问题,您可以在
test.rb
中使用镊子:
config.logger.level=logger::WARN
,从
log/test.log
开始,最好不要将输出扼杀到
log/test.log
,而是熟悉诸如
grep
之类的命令。Grep允许您通过文件或目录运行非常高级的搜索查询,只要您运行的是某种风格的*nix。最简单的用法是

grep search_term file_name

我之所以说你不应该压缩日志输出,是因为有一天它会在**s中咬你一口。希望这能有所帮助。

更改日志级别效果非常好!我已经在单个文件上做了很多测试。这很好,因为我通常不关心成功测试的日志输出,而是希望关注失败的测试。这些是我目前正在使用的解决方案,仍然需要很长时间。我想从3秒到1秒,找到一些东西。如果你的测试经常失败,你需要努力找出原因,你做错了(tm)。见: