我一直在使用内置的OSX'say'命令来表示长时间运行测试的结束。这很容易和方便。有红宝石单元::测试说出测试结果
我想说说“6个测试,18个断言,0个失败,0个错误”的结果的最后一行,但仍然保持正在进行的输出。任何想法如何做到这一点?
我已经试过:
ruby overlay_test.rb | tail -n 1 | say
但是,当他们发生不输出测试结果。
用于表示该行“0失败,0错误”的最后两部分的加分。
我一直在使用内置的OSX'say'命令来表示长时间运行测试的结束。这很容易和方便。有红宝石单元::测试说出测试结果
我想说说“6个测试,18个断言,0个失败,0个错误”的结果的最后一行,但仍然保持正在进行的输出。任何想法如何做到这一点?
我已经试过:
ruby overlay_test.rb | tail -n 1 | say
但是,当他们发生不输出测试结果。
用于表示该行“0失败,0错误”的最后两部分的加分。
您可以使用tee
直接输出到多个文件/程序(在这里,say
和STDOUT):
ruby overlay_test.rb | tail -n 1 | tee >(say)
对于奖金,摆脱你不想要的东西与sed
:
ruby overlay_test.rb | tail -n 1 | sed -e 's/.*assertions, //' | tee >(say)
谢谢!
tee
正是我所需要的。虽然获胜的命令竟然是:
ruby overlay_test.rb | tee >(tail -n 1 |sed -e 's/.*assertions, //' | say)
因为我想在运行时看到的不仅仅是最后一行测试。