るりまサーチ

最速Rubyリファレンスマニュアル検索!
61件ヒット [1-61件を表示] (0.020秒)
トップページ > クエリ:end[x] > クエリ:coverage[x] > クエリ:result[x]

別のキーワード

  1. _builtin end
  2. ripper end_seen?
  3. _builtin exclude_end?
  4. _builtin end_with?
  5. range end

種類

ライブラリ

クラス

検索結果

coverage (38246.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 (35249.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 (35195.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.peek_result -> Hash (23207.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 を実行する前に実行された...

Coverage.start(option = {}) -> nil (17060.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}}}
//}...

絞り込み条件を変える

NEWS for Ruby 2.5.0 (114.0)

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

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

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

* Array
* Array#append を追加...
...igDecimal.ver
* BigDecimal#clone と BigDecimal#dup は新しいインスタンスを作らなくなりました。selfを返します。

* coverage
* ブランチカバレッジとメソッドカバレッジの計測をサポートしました 13901
この新機能と一緒にテ...
...
Coverage
.start に与えるオプションによって計測する対象を指定することができます。
//emlist[][ruby]{
Coverage
.start(lines: true, branches: true, methods: true)
//}
* Rubyで書かれたファイルをいくつか読み込んでから、Coverage.result...

NEWS for Ruby 3.1.0 (90.0)

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

...ッドに渡されるだけの場合は、ブロックの引数を無名にできるようになりました。 11256

//emlist{
def foo(&)
bar(&)
end

//}

* ピン演算子に式を書けるようになりました。 17411

//emlist{
Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3...
...では、

//emlist[][ruby]{
foo[0] = bar
//}

* 次の評価順序になります。

//emlist{
1. `foo`
2. `bar`
3. `[]=` called on the result of `foo`
//}

* Ruby 3.1.0より前は、多重代入の評価順序が上記のようではありませんでした。このコードでは、...
...イブラリから削除されました。
* dbm
* gdbm
* tracer

* Coverageの計測が一時停止をサポートされるようになりました。 Coverage.suspendで計測を一時停止し、Coverage.resumeで再開することができます。詳細は 18176 を参照してく...

NEWS for Ruby 3.0.0 (66.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]...
...the analysis result in RBS format.
* Though it supports 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)
//...