0

从终端运行 rspec 文件后 - 您可以从终端输出查看所有测试的执行持续时间。它看起来像这样:

3 examples, 0 failures, 3 passed
Finished in 65.007918085 seconds

有什么方法可以将该持续时间保存到变量中(例如 - 将测试时间统计信息发送到数据库)?

4

2 回答 2

1

我相信您可以使用 rspec 自定义格式化程序来访问这些数据,并控制输出的显示方式。如果你幸运的话,其他人可能已经写了一个你可以重复使用的。或者,您可能只需要对您已经使用的格式化程序进行子类化,并扩展方法 start_dump 以对持续时间数据做一些有趣的事情,然后调用 super.

要调用自定义格式化程序,您只需执行

rspec -f MyFormatter name_of_test_spec.rb

有关 rspec 自定义格式化程序的更多信息:

https://www.relishapp.com/rspec/rspec-core/docs/formatters/custom-formatters

http://rubydoc.info/gems/rspec-core/2.6.4/RSpec/Core/Formatters/BaseFormatter

于 2013-03-07T13:33:05.983 回答
1

将输出通过管道传输到 shell 并使用正则表达式来提取持续时间。

于 2013-03-07T13:12:13.700 回答