るりまサーチ

最速Rubyリファレンスマニュアル検索!
57件ヒット [1-57件を表示] (0.025秒)

別のキーワード

  1. coverage result
  2. coverage start
  3. coverage peek_result
  4. coverage coverage
  5. coverage running?

種類

ライブラリ

クラス

キーワード

検索結果

coverage (38294.0)

カバレッジを測定するためのライブラリです。

...(1) require "coverage" で、ライブラリを読み込む。
(2) Coverage.start を実行し、測定を開始する。
(3) require や load で測定対象のファイルを実行する。
(4) Coverage.result Coverage.peek_result で結果を確認する。

Coverage
.result は、ファ...
...s do |x|
s += x
end


if s == 45
p :ok
else
p :ng
end

//}

以下のようにして測定を行います。

//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"] から...
...得られる配列は各行の実行回数になっています。


=== カバレッジモードの指定

Ruby 2.5 以降では、Coverage.start の引数で、計測対象の種類を変更するモード機能があります。

==== linesカバレッジモード

linesカバレッジモード...

Coverage.result(stop: true, clear: true) -> Hash (35267.0)

対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。

...細は、coverage ライブラリ を参照してください。

@param stop true であれば、カバレッジの測定を終了します。
@param clear true であれば、測定記録をクリアします。

@return 測定結果を表すハッシュ

@raise RuntimeError Coverage.start を実...
...b][ruby]{
def bool(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)
//}

Ruby 2.6...
...できます。
Coverage.result(clear: true, stop: false) と指定することで、続けて新しく実行された行だけを記録することができます。

//emlist[][ruby]{
require "coverage"
Coverage
.start(oneshot_lines: true)
load "bool.rb"
p Coverage.result(clear: true, stop: false)...

Coverage.result -> Hash (35207.0)

対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。

...ントのみの行などの測定結果は 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.start(option = {}) -> nil (35173.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...
...: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.peek_result -> Hash (23219.0)

測定を止めることなく、測定中のその時の結果をハッシュで返します。 測定結果の詳細は、coverage ライブラリ を参照してください。

...timeError Coverage.start を実行する前に実行された場合に
発生します。

//emlist[bool.rb][ruby]{
def bool(obj)
if obj
true
else
false
end

end

//}

//emlist[][ruby]{
require "coverage"

Coverage
.start

load "bool.rb"
p Coverage.peek_result #=> {"b...
...ool.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.result...
...その時の結果をハッシュで返します。
測定結果の詳細は、coverage ライブラリ を参照してください。


@return 測定途中結果を表すハッシュ

@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生しま...
...else
false
end

end

//}

//emlist[][ruby]{
require "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.result...
...返します。
測定結果の詳細は、coverage ライブラリ を参照してください。

これは、Coverage.result(stop: false, clear: false) と同じです。

@return 測定途中結果を表すハッシュ

@raise RuntimeError Coverage.start を実行する前に実行された場...

絞り込み条件を変える

NEWS for Ruby 2.5.0 (168.0)

NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...547
* do/end ブロック内部で rescue/else/ensure を書けるようになりました 12906
* 文字列の式展開内部の暗黙の to_s 呼び出しにも refinements が影響するようになりました 13812

=== 組み込みクラスの更新

* Array
* Array#append を追加...
...g#casecmp? に文字列でない引数を与えた場合、TypeErrorを発生させずにnilを返すようにしました
13312
* String#start_with? は正規表現を受け取れるようになりました 13712
* String#delete_prefix, String#delete_prefix! を追加 12694
* Stri...
...igDecimal.ver
* BigDecimal#clone と BigDecimal#dup は新しいインスタンスを作らなくなりました。selfを返します。

* coverage
* ブランチカバレッジとメソッドカバレッジの計測をサポートしました 13901
この新機能と一緒にテ...

NEWS for Ruby 3.0.0 (72.0)

NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。

...さい。

== 言語仕様の変更

* Keyword arguments are now separated from positional arguments.
Code that resulted in deprecation warnings in Ruby 2.7 will now
result
in ArgumentError or different behavior. 14183
* Procs accepting a single rest argument and keywords are no longer...
...> a=>1}, {}]
//}

* Arguments forwarding (`...`) now supports leading arguments.
16378

//emlist{
def method_missing(meth, ...)
send(:"do_#{meth}", ...)
end

//}

* Pattern matching (`case/in`) is no longer experimental. 17260
* One-line pattern matching is redesigned. [EXPERIMENTAL]...
...upport.
* Net::SMTP.start arguments are keyword arguments.
* TLS should not check the host name by default.
* OpenStruct
* Initialization is no longer lazy. 12136
* Builtin methods can now be overridden safely. 15409
* Implementation uses only methods ending with `!`.
* Rac...