rspec 创建报告后挂钩
rspec hook after report gets created
在创建报告文件后 运行 秒是否有 rspec 挂钩?
例如,在我的 .rspec
中,我包含了:
--format json --out test_results/rspec.json
并且我想 post 处理此文件并在别处发布指标。我强烈不希望创建单独的脚本,而是希望将其作为我的 bundle exec rspec
命令的一部分来执行。创建此文件后是否有 RSpec 挂钩 运行?
谢谢!
实现此目的的一种方法是基于 JSON 格式化程序实现您自己的格式化程序。像这样的东西可以工作:
class CustomFormatter < RSpec::Core::Formatters::JsonFormatter
RSpec::Core::Formatters.register self, :example_started
def close(_notification)
super
# Do your post processing here...
end
end
然后您可以像这样使用您的自定义格式化程序
rspec --require ./custom_formatter.rb --format CustomFormatter
RSpec::Core::Formatters::JsonFormatter
被标记为私有,因此可以随时更改。您必须考虑是否要冒险在未来 RSpec 升级中进行更改和适应。
否则我建议只使用自定义脚本。它应该很简单,里面只有 &&
或 |
,比如
rspec --format json | ./run_postprocessing
https://relishapp.com/rspec/rspec-core/docs/formatters/custom-formatters
https://github.com/rspec/rspec-core/blob/main/lib/rspec/core/formatters/json_formatter.rb#L56
在创建报告文件后 运行 秒是否有 rspec 挂钩?
例如,在我的 .rspec
中,我包含了:
--format json --out test_results/rspec.json
并且我想 post 处理此文件并在别处发布指标。我强烈不希望创建单独的脚本,而是希望将其作为我的 bundle exec rspec
命令的一部分来执行。创建此文件后是否有 RSpec 挂钩 运行?
谢谢!
实现此目的的一种方法是基于 JSON 格式化程序实现您自己的格式化程序。像这样的东西可以工作:
class CustomFormatter < RSpec::Core::Formatters::JsonFormatter
RSpec::Core::Formatters.register self, :example_started
def close(_notification)
super
# Do your post processing here...
end
end
然后您可以像这样使用您的自定义格式化程序
rspec --require ./custom_formatter.rb --format CustomFormatter
RSpec::Core::Formatters::JsonFormatter
被标记为私有,因此可以随时更改。您必须考虑是否要冒险在未来 RSpec 升级中进行更改和适应。
否则我建议只使用自定义脚本。它应该很简单,里面只有 &&
或 |
,比如
rspec --format json | ./run_postprocessing
https://relishapp.com/rspec/rspec-core/docs/formatters/custom-formatters https://github.com/rspec/rspec-core/blob/main/lib/rspec/core/formatters/json_formatter.rb#L56