Type:
Module
Coverage provides coverage measurement feature for Ruby. This feature is experimental, so these APIs may be changed in future.
Usage
-
require “coverage.so”
-
do ::start
-
require or load Ruby source file
-
::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
nil
value means coverage is disabled for this line (lines likeelse
andend
).
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | [foo.rb] s = 0 10 .times do |x| s += x end if s == 45 p :ok else p :ng end [ EOF ] require "coverage.so" Coverage.start require "foo.rb" p Coverage.result #=> {"foo.rb"=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]} |