ライブラリ
- coverage (40)
クラス
- Coverage (40)
キーワード
-
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 0 . 0 (5) -
peek
_ result (12) - result (12)
- running? (8)
検索結果
先頭5件
-
coverage (38228.0)
-
カバレッジを測定するためのライブラリです。
...(1) require "coverage" で、ライブラリを読み込む。
(2) Coverage.start を実行し、測定を開始する。
(3) require や load で測定対象のファイルを実行する。
(4) Coverage.result や Coverage.peek_result で結果を確認する。
Coverage.result は、......|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
. start(option = {}) -> nil (35249.0) -
カバレッジの測定を開始します。既に実行されていた場合には何も起こりません。 ただし、カバレッジ計測中に測定対象を変更しようとした場合は、RuntimeError となります。
...ります。
@param option カバレッジの計測モードを指定します。
:all か "all" を指定すると、全ての種類を計測します。
個別に指定する場合は、ハッシュを渡します。
詳細は、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, nil],
# :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 (23194.0) -
測定を止めることなく、測定中のその時の結果をハッシュで返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...e RuntimeError 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 #=......> {"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 ライブラリ を参照してください。
@return 測定途中結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生しま......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 ライブラリ を参照してください。
これは、Coverage.result(stop: false, clear: false) と同じです。
@return 測定途中結果を表すハッシュ
@raise RuntimeError Coverage.start を実行する前に実行された場... -
Coverage
. result(stop: true , clear: true) -> Hash (17242.0) -
対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...細は、coverage ライブラリ を参照してください。
@param stop true であれば、カバレッジの測定を終了します。
@param clear true であれば、測定記録をクリアします。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を実......quire "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......equire "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, stop: false... -
Coverage
. running? -> bool (17138.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 #=> {}
p Cov... -
Coverage
. result -> Hash (17082.0) -
対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...ise RuntimeError 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.result #=> {"b......ool.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 を実行する前に実行された場......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... -
NEWS for Ruby 2
. 5 . 0 (108.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...の更新
* Array
* Array#append を追加 12746
* Array#prepend を追加 12746
* Data
* 非推奨になりました。C拡張のベースクラスでしたが、Rubyレベルに公開するのをやめました。3072
* Exception
* Exception#full_message を追加 14141 [......String#casecmp, String#casecmp? に文字列でない引数を与えた場合、TypeErrorを発生させずにnilを返すようにしました
13312
* String#start_with? は正規表現を受け取れるようになりました 13712
* String#delete_prefix, String#delete_prefix! を......削除予定)
* BigDecimal.new
* BigDecimal.ver
* BigDecimal#clone と BigDecimal#dup は新しいインスタンスを作らなくなりました。selfを返します。
* coverage
* ブランチカバレッジとメソッドカバレッジの計測をサポートしまし... -
NEWS for Ruby 3
. 0 . 0 (54.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...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
subject to autosplatting. This now matches the behavior of Pro......e been added to skip hostname verification. 16555
* Net::HTTP.get, Net::HTTP.get_response, and Net::HTTP.get_print can take the request headers as a Hash in the second argument when the first argument is a URI. 16686
* Net::SMTP
* Add SNI support.
* Net::SMTP.start arguments are keyw......a type analysis tool for Ruby code based on abstract interpretation.
* It reads 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...