QA@IT

simplecov+Kernel.forkで正しいカバレッジを出力することができますか?

1280 PV

ruby-1.9.3-p194 + simplecov 0.6.4 を利用しています。
テストコード中でforkしている箇所があり、ここのカバレッジをうまく出力できずに悩んでいます。

コード例:

# a.rb
require 'simplecov'
SimpleCov.start

require_relative 'b'
# b.rb
pid = fork do
  p 'bar'
end
Process.waitpid(pid)

p 'foo'

実行例:


% ruby a.rb
"bar"
SimpleCov failed to recognize the test framework and/or suite used. Please specify manually using SimpleCov.command_name 'Unit Tests'.
Coverage report generated for Unknown Test Framework to /tmp/coverage. 1 / 4 LOC (25.0%) covered.
"foo"
SimpleCov failed to recognize the test framework and/or suite used. Please specify manually using SimpleCov.command_name 'Unit Tests'.
Coverage report generated for Unknown Test Framework to /tmp/coverage. 3 / 4 LOC (75.0%) covered.
exit status: 0

fork後に出力されたカバレッジとテスト終了後に出力されるカバレッジをうまくをマージしたいのですが、何かよい方法はないでしょうか?

ウォッチ

この質問への回答やコメントをメールでお知らせします。