ライブラリ
- coverage (36)
クラス
- Coverage (36)
キーワード
-
NEWS for Ruby 2
. 3 . 0 (9) -
NEWS for Ruby 2
. 5 . 0 (7) -
NEWS for Ruby 2
. 6 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (4) -
NEWS for Ruby 3
. 1 . 0 (3) - coverage (11)
-
peek
_ result (11) - result (11)
- running? (7)
- start (7)
検索結果
先頭5件
-
Coverage
. result(stop: true , clear: true) -> Hash (62273.0) -
対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...詳細は、coverage ライブラリ を参照してください。
@param stop true であれば、カバレッジの測定を終了します。
@param clear true であれば、測定記録をクリアします。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を......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, st......[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, st... -
Coverage
. result -> Hash (62195.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 (27207.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 を実行する前に実行された場合に
発生し......"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
. running? -> bool (21130.0) -
カバレッジ測定中かどうかを返します。カバレッジの測定中とは、Coverage.start の 呼び出し後から Coverage.result の呼び出し前です。
...とは、Coverage.start の
呼び出し後から Coverage.result の呼び出し前です。
//emlist[][ruby]{
require 'coverage'
p Coverage.running? #=> false
Coverage.start
p Coverage.running? #=> true
p Coverage.peek_result #=> {}
p Coverage.running? #=> true
p Coverage.result #=>... -
Coverage
. start(option = {}) -> nil (21060.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 (6264.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 が指す値は、各行... -
NEWS for Ruby 2
. 5 . 0 (102.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...igDecimal.ver
* BigDecimal#clone と BigDecimal#dup は新しいインスタンスを作らなくなりました。selfを返します。
* coverage
* ブランチカバレッジとメソッドカバレッジの計測をサポートしました 13901
この新機能と一緒にテ......。
Coverage.start に与えるオプションによって計測する対象を指定することができます。
//emlist[][ruby]{
Coverage.start(lines: true, branches: true, methods: true)
//}
* Rubyで書かれたファイルをいくつか読み込んでから、Coverage.result を......使って結果を取得することができます。
//emlist[][ruby]{
Coverage.result
#=> { "/path/to/file.rb"=>
# { :lines => [1, 2, 0, nil, ...],
# :branches =>
# { [:if, 0, 2, 1, 6, 4] =>
# { [:then, 1, 3, 2, 3, 8] => 0,
# [:else, 2, 5, 2, 5, 8] => 2... -
NEWS for Ruby 3
. 1 . 0 (48.0) -
NEWS for Ruby 3.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...では、
//emlist[][ruby]{
foo[0] = bar
//}
* 次の評価順序になります。
//emlist{
1. `foo`
2. `bar`
3. `[]=` called on the result of `foo`
//}
* Ruby 3.1.0より前は、多重代入の評価順序が上記のようではありませんでした。このコードでは、......led on the result of `foo`
5. `bar`
6. `baz=` called on the result of `bar`
//}
* Ruby 3.1.0から単一代入と評価順序が一致するようになり、左が右より先に評価されます。
//emlist{
1. `foo`
2. `bar`
3. `a`
4. `b`
5. `[]=` called on the result of `foo`......6. `baz=` called on the result of `bar`
//}
* 4443
* ハッシュリテラルやキーワード引数の値が省略可能になりました。 14579
* {x:, y:} は {x: x, y: y} の糖衣構文です。
* foo(x:, y:) は foo(x: x, y: y) の糖衣構文です。
* 定数名、ロ... -
NEWS for Ruby 2
. 6 . 0 (36.0) -
NEWS for Ruby 2.6.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...* Bundler
* Bundler が標準添付ライブラリに追加されました。 12733
* 最新安定版の 1.17.2 が使われます。
* Coverage
* oneshot_lines モードが追加されました。 15022
* このモードは「各行が何回実行されたか」の代わりに......くなります。
* 新規オプション
* :oneshot_lines キーワード引数が Coverage.start に追加されました。
* :stop と :clear キーワード引数が Coverage.result に追加されました。
clear が真の時、カウンターが0クリアされま......す。
stop が真の時、カバレッジ計測を停止します。
* 新規メソッド
* Coverage.line_stub はソースコードからラインカバレッジ用のスタブを
作成するシンプルなヘルパー関数です。
* CSV
* 3.0.2 に更新され... -
NEWS for Ruby 2
. 3 . 0 (24.0) -
NEWS for Ruby 2.3.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...れるようになりました。
=== 標準添付ライブラリの互換性 (機能追加とバグ修正を除く)
* ext/coverage/coverage.c
* Coverage.peek_result を追加。カバレッジツールを停止することなくカバレッジに関する情報を取得することができ... -
NEWS for Ruby 3
. 0 . 0 (18.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......nVariable#wait may now invoke the `block`/`unblock` scheduler hooks in a non-blocking context. 16786
* Dir
* Dir.glob and Dir.[] now sort the results by default, and accept the `sort:` keyword option. 8709
* ENV
* ENV.except has been added, which returns a hash excluding the given keys......s non-annotated Ruby code, tries inferring its type signature, and prints 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...