require 'coverage'
Coverage
Coverage provides coverage measurement feature for Ruby. This feature is experimental, so these APIs may be changed in future.
- require “coverage”
- do Coverage.start
- require or load Ruby source file
- Coverage.result will return a hash that contains filename as key and coverage array as value. A coverage array gives, for each line, the number of line execution by the interpreter. A nilvalue means coverage is disabled for this line (lines likeelseandend).
[foo.rb]
s = 0
10.times do |x|
  s += x
end
if s == 45
  p :ok
else
  p :ng
end
[EOF]
require "coverage"
Coverage.start
require "foo.rb"
p Coverage.result  #=> {"foo.rb"=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}