ライブラリ
- coverage (39)
クラス
- Coverage (39)
キーワード
-
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) -
line
_ stub (6) -
peek
_ result (11) - result (11)
- start (11)
検索結果
先頭5件
-
coverage (38228.0)
-
カバレッジを測定するためのライブラリです。
...(1) require "coverage" で、ライブラリを読み込む。
(2) Coverage.start を実行し、測定を開始する。
(3) require や load で測定対象のファイルを実行する。
(4) Coverage.result や Coverage.peek_result で結果を確認する。
Coverage.result は、......//}
以下のようにして測定を行います。
//emlist[][ruby]{
require "coverage"
Coverage.start
load "foo.rb"
p Coverage.result # => {"foo.rb"=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}
//}
この Coverage.result["foo.rb"] から得られる配列は各行の実行回数になってい......"coverage"
Coverage.start
load "foo.rb"
p Coverage.result # => {"foo.rb"=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}
//}
この Coverage.result["foo.rb"] から得られる配列は各行の実行回数になっています。
=== カバレッジモードの指定
Ruby 2.5 以降では、Coverage......ードを明示的にしない場合と同じです。
//emlist[][ruby]{
require "coverage"
Coverage.start(lines: true)
load "foo.rb"
p Coverage.result # => {"foo.rb"=>{:lines=>[1, 1, 10, nil, nil, 1, 1, nil, 0, nil]}}
//}
キーの :lines が指す値は、各行が実行された回数を示す... -
Coverage
. start(option = {}) -> nil (17155.0) -
カバレッジの測定を開始します。既に実行されていた場合には何も起こりません。 ただし、カバレッジ計測中に測定対象を変更しようとした場合は、RuntimeError となります。
...coverage ライブラリ を参照してください。
//emlist[bool.rb][ruby]{
def bool(obj)
if obj
true
else
false
end
end
//}
//emlist[][ruby]{
require "coverage"
Coverage.start(:all)
load "bool.rb"
bool(0)
pp Coverage.result
# {"bool.rb"=>
# {:lines=>[1, 1, 1, nil, 0, nil, ni......:branches=>
# {[:if, 0, 2, 2, 6, 5]=>
# {[:then, 1, 3, 4, 3, 8]=>1, [:else, 2, 5, 4, 5, 9]=>0}},
# :methods=>{[Object, :bool, 1, 0, 7, 3]=>1}}}
Coverage.start(methods: true)
load "bool.rb"
bool(0)
pp Coverage.result #=> {"bool.rb"=>{:methods=>{[Object, :bool, 1, 0, 7, 3]=>1}}}
//}... -
Coverage
. result(stop: true , clear: true) -> Hash (17124.0) -
対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...詳細は、coverage ライブラリ を参照してください。
@param stop true であれば、カバレッジの測定を終了します。
@param clear true であれば、測定記録をクリアします。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を......t[][ruby]{
require "coverage"
Coverage.start
load "bool.rb"
p Coverage.result #=> {"bool.rb"=>[1, 0, 0, nil, 0, nil, nil]}
bool(0)
p Coverage.result # coverage measurement is not enabled (RuntimeError)
//}
Ruby 2.6 以降では、オプションを指定できます。
Coverage.result(clear: true......t[][ruby]{
require "coverage"
Coverage.start(oneshot_lines: true)
load "bool.rb"
p Coverage.result(clear: true, stop: false) #=> {"bool.rb"=>{:oneshot_lines=>[1]}}
bool(0)
p Coverage.result(clear: true, stop: false) #=> {"bool.rb"=>{:oneshot_lines=>[2, 3]}}
bool(nil)
p Coverage.result(clear: true,... -
Coverage
. peek _ result -> Hash (17118.0) -
測定を止めることなく、測定中のその時の結果をハッシュで返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...た値のハッシュで返
します。空行やコメントのみの行などの測定結果は nil になります。
@return 測定途中結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生します。
//emlis......re "coverage"
Coverage.start
load "bool.rb"
p Coverage.peek_result #=> {"bool.rb"=>[1, 0, 0, nil, 0, nil, nil]}
bool(true)
p Coverage.peek_result #=> {"bool.rb"=>[1, 1, 1, nil, 0, nil, nil]}
bool(false)
p Coverage.peek_result #=> {"bool.rb"=>[1, 2, 1, nil, 1, nil, nil]}
//}
@see Coverage.res......のその時の結果をハッシュで返します。
測定結果の詳細は、coverage ライブラリ を参照してください。
@return 測定途中結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生し......で返します。
測定結果の詳細は、coverage ライブラリ を参照してください。
これは、Coverage.result(stop: false, clear: false) と同じです。
@return 測定途中結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された... -
Coverage
. start -> nil (17101.0) -
カバレッジの測定を開始します。既に実行されていた場合には何も起こりません。
カバレッジの測定を開始します。既に実行されていた場合には何も起こりません。 -
Coverage
. result -> Hash (17076.0) -
測定結果をファイル名をキー、各行の実行回数を配列にした値のハッシュを返 します。空行やコメントのみの行などの測定結果は nil になります。
...空行やコメントのみの行などの測定結果は nil になります。
resultメソッドが実行された後はカバレッジの測定を行いません。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に......l(obj)
if obj
true
else
false
end
end
//}
//emlist[][ruby]{
require "coverage"
Coverage.start
load "bool.rb"
p Coverage.result #=> {"bool.rb"=>[1, 0, 0, nil, 0, nil, nil]}
bool(0)
p Coverage.result # coverage measurement is not enabled (RuntimeError)
//}
@see Coverage.peek_result......します。
測定結果の詳細は、coverage ライブラリ を参照してください。
resultメソッドが実行された後はカバレッジの測定を行いません。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された... -
Coverage
. line _ stub(file) -> Array (17048.0) -
行カバレッジの配列のスタブを返します。
...行の要素は nil となります。
//emlist[foo.rb][ruby]{
s = 0
10.times do |x|
s += x
end
if s == 45
p :ok
else
p :ng
end
//}
このファイルに対して line_stub を実行すると、次のようになります。
//emlist[][ruby]{
require "coverage"
p Coverage.line_stub("foo.rb......") #=> [0, 0, 0, nil, nil, 0, 0, nil, 0, nil]
//}
この例において、空行, else, end の行は測定対象外であるため、nil となっています。
@param file ファイル名を表す文字列... -
NEWS for Ruby 2
. 5 . 0 (84.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...7688
* 数値の比較メソッド(<,<=,>=,>)は、coerceメソッドで発生した例外を隠蔽しなくなりました。
coerceがnilを返す場合、変換は不可能です。7688
* Process
* getrusage(2) が存在する場合 Process.#times の精度を改良しまし......l".freeze と同じです) 13295
* String#casecmp, String#casecmp? に文字列でない引数を与えた場合、TypeErrorを発生させずにnilを返すようにしました
13312
* String#start_with? は正規表現を受け取れるようになりました 13712
* String#del......igDecimal.ver
* BigDecimal#clone と BigDecimal#dup は新しいインスタンスを作らなくなりました。selfを返します。
* coverage
* ブランチカバレッジとメソッドカバレッジの計測をサポートしました 13901
この新機能と一緒にテ... -
NEWS for Ruby 3
. 1 . 0 (66.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
....com/ruby/ruby/pull/1509
//emlist[Enumerable#each_cons Enumerable#each_slice][ruby]{
[1, 2, 3].each_cons(2){}
# 3.0 => nil
# 3.1 => [1, 2, 3]
[1, 2, 3].each_slice(2){}
# 3.0 => nil
# 3.1 => [1, 2, 3]
//}
* Enumerator::Lazy
* 新規メソッド
* Enumerator::Lazy#compact が追加さ......unctionが引数を返すようになりました。引数が1つでも渡されている場合、それが返されます。引数なしの場合、nilが返されます。複数の引数を渡した場合、それらを要素に持つ配列が返されます。 12495
* Process
* 新規メ......イブラリから削除されました。
* dbm
* gdbm
* tracer
* Coverageの計測が一時停止をサポートされるようになりました。 Coverage.suspendで計測を一時停止し、Coverage.resumeで再開することができます。詳細は 18176 を参照してく... -
NEWS for Ruby 2
. 3 . 0 (48.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...ion operator (ぼっち演算子):
* object&.foo という形式のメソッド呼び出し形式が追加されました。これは object が nil でないときにメソッド foo を呼び出します。
Active Support の try! と似ていますが、メソッド名は文法的に必......行時ではなくビルド時に検出するためです。
11806
* Kernel
* Kernel.#loop は StopIteration で停止したときに nil ではなく最後に評価した要素を返します。
11498
* Module
* Module#deprecate_constant を追加
11398
* NameErro......告されるようになりました。
=== 標準添付ライブラリの互換性 (機能追加とバグ修正を除く)
* ext/coverage/coverage.c
* Coverage.peek_result を追加。カバレッジツールを停止することなくカバレッジに関する情報を取得することが... -
NEWS for Ruby 3
. 0 . 0 (24.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...da's arity check.
* When writing to STDOUT redirected to a closed pipe, no broken pipe error message will be shown now. 14413
* `TRUE`/`FALSE`/`NIL` constants are no longer defined.
* Integer#zero? overrides Numeric#zero? for optimization. 16961
* Enumerable#grep and Enumerable#grep_v when......* `Struct`: reader methods for 10th or later members
* Constant references are inlined.
* Always generate appropriate code for `==`, `nil?`, and `!` calls depending on a receiver class.
* Reduce the number of PC accesses on branches and method returns.
* Optimize C method call......orts only a subset of the Ruby language yet, we will continuously improve the coverage of language features, analysis performance, and usability.
//emlist[][ruby]{
# test.rb
def foo(x)
if x > 10
x.to_s
else
nil
end
end
foo(42)
//}
//emlist{
$ typeprof test.rb
# Classes
class Object...