ライブラリ
- coverage (40)
クラス
- Coverage (40)
キーワード
-
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 3
. 0 . 0 (5) -
NEWS for Ruby 3
. 1 . 0 (4) -
peek
_ result (12) - running? (8)
- start (8)
検索結果
先頭5件
-
coverage (44210.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.......start の引数で、計測対象の種類を変更するモード機能があります。
==== linesカバレッジモード
linesカバレッジモードでは、各行の実行された回数を計測します。得られる結果の情報は、引数でモードを明示的にしない場合... -
Coverage
. result(stop: true , clear: true) -> Hash (38337.0) -
対象ファイル名をキー、測定結果を値したハッシュを返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...細は、coverage ライブラリ を参照してください。
@param stop true であれば、カバレッジの測定を終了します。
@param clear true であれば、測定記録をクリアします。
@return 測定結果を表すハッシュ
@raise RuntimeError Coverage.start を実......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) #=> {"bo... -
Coverage
. result -> Hash (38283.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 (26295.0) -
測定を止めることなく、測定中のその時の結果をハッシュで返します。 測定結果の詳細は、coverage ライブラリ を参照してください。
...raise 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 を実行する前に実行された場合に
発生します。
//emlist[bool.rb][ruby]{
def bool(obj)
if obj
true
else
fals......"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 を実行する前に実行された場......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
. start(option = {}) -> nil (23148.0) -
カバレッジの測定を開始します。既に実行されていた場合には何も起こりません。 ただし、カバレッジ計測中に測定対象を変更しようとした場合は、RuntimeError となります。
...ります。
@param option カバレッジの計測モードを指定します。
:all か "all" を指定すると、全ての種類を計測します。
個別に指定する場合は、ハッシュを渡します。
詳細は、coverage ライブラリ......l.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
. running? -> bool (20108.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 Coverage.running? #=> false
//}... -
NEWS for Ruby 3
. 0 . 0 (480.0) -
NEWS for Ruby 3.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...word 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
subject to autosplatting. This now match......havior of Procs
accepting a single rest argument and no keywords.
16166
//emlist[][ruby]{
pr = proc{|*a, **kw| [a, kw]}
pr.call([1])
# 2.7 => [[1], {}]
# 3.0 => [[[1]], {}]
pr.call([1, {a: 1}])
# 2.7 => [[1], {:a=>1}] # and deprecation warning
# 3.0 => a=>1}, {}]
//}
* Arguments forwar......s 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... -
NEWS for Ruby 3
. 1 . 0 (132.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).to_a
#=> [[3, 5], [5, 7], [11, 13]]
//}
* ピン演算子がインス......bar
//}
* 次の評価順序になります。
//emlist{
1. `foo`
2. `bar`
3. `[]=` called on the result of `foo`
//}
* Ruby 3.1.0より前は、多重代入の評価順序が上記のようではありませんでした。このコードでは、
//emlist[][ruby]{
foo[0], bar.baz = a,......た。
* net-ftp 0.1.3
* net-imap 0.2.2
* net-pop 0.1.1
* net-smtp 0.3.1
* matrix 0.4.2
* prime 0.1.2
* debug 1.4.0
* 以下が標準添付ライブラリから削除されました。
* dbm
* gdbm
* tracer
* Coverageの計測が一時停止をサポー... -
NEWS for Ruby 2
. 5 . 0 (96.0) -
NEWS for Ruby 2.5.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
...エントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.4.0 以降の変更
=== 言語仕様の変更
* トップレベルの定数......imal
* BigDecimal 1.3.4 に更新
* BigDecimal::VERSION を追加
* 非推奨(1.4.0で削除予定)
* BigDecimal.new
* BigDecimal.ver
* BigDecimal#clone と BigDecimal#dup は新しいインスタンスを作らなくなりました。selfを返します。
* coverage......。
Coverage.start に与えるオプションによって計測する対象を指定することができます。
//emlist[][ruby]{
Coverage.start(lines: true, branches: true, methods: true)
//}
* Rubyで書かれたファイルをいくつか読み込んでから、Coverage.result を...