るりまサーチ

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

別のキーワード

  1. _builtin nil?
  2. nilclass nil?
  3. object nil?
  4. _builtin nil
  5. object nil

種類

ライブラリ

クラス

検索結果

coverage (38264.0)

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

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

Coverage
.result は、...
...times 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.start(option = {}) -> nil (17167.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=>[1, 1, 1, nil, 0, nil, ni...
...: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.result(stop: true, clear: true) -> Hash (17136.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...
...t[][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,...

Coverage.peek_result -> Hash (17130.0)

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

...結果は nil になります。


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

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

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

end

//}

//emli...
...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 ライブラリ を参照してください。


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

@raise RuntimeError Coverage.start を実行する前に実行された場合に
発生し...
...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 #=> {"b...
...ool.rb"=>[1, 2, 1, nil, 1, nil, nil]}
//}

@see Coverage.result...
...で返します。
測定結果の詳細は、coverage ライブラリ を参照してください。

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

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

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

Coverage.result -> Hash (17088.0)

測定結果をファイル名をキー、各行の実行回数を配列にした値のハッシュを返 します。空行やコメントのみの行などの測定結果は nil になります。

...空行やコメントのみの行などの測定結果は 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.line_stub(file) -> Array (17066.0)

行カバレッジの配列のスタブを返します。

...行の要素は nil となります。

//emlist[foo.rb][ruby]{
s = 0
10.times do |x|
s += x
end


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

//}

このファイルに対して line_stub を実行すると、次のようになります。

//emlist[][ruby]{
require "coverage"
p Coverage.line_stub("foo.rb...
...") #=> [0, 0, 0, nil, nil, 0, 0, nil, 0, nil]
//}

この例において、空行, else, end の行は測定対象外であるため、nil となっています。

@param file ファイル名を表す文字列...

NEWS for Ruby 2.5.0 (120.0)

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

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

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

* Array
* Array#append を追加...
...7688
* 数値の比較メソッド(<,<=,>=,>)は、coerceメソッドで発生した例外を隠蔽しなくなりました。
coerceがnilを返す場合、変換は不可能です。7688

* Process
* getrusage(2) が存在する場合 Process.#times の精度を改良しまし...
...igDecimal.ver
* BigDecimal#clone と BigDecimal#dup は新しいインスタンスを作らなくなりました。selfを返します。

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

NEWS for Ruby 3.1.0 (108.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...
....com/ruby/ruby/pull/1509

//emlist[Enumerable#each_cons Enumerable#each_slice][ruby]{
[1, 2, 3].each_cons(2){}
# 3.0 => nil
# 3.1 => [1, 2, 3]

[1, 2, 3].each_slice(2){}
# 3.0 => nil
# 3.1 => [1, 2, 3]
//}

* Enumerator::Lazy
* 新規メソッド
* Enumerator::Lazy#compact が追加さ...
...イブラリから削除されました。
* dbm
* gdbm
* tracer

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

NEWS for Ruby 3.0.0 (72.0)

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

...> 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]...
...da's arity check.
* When writing to STDOUT redirected to a closed pipe, no broken pipe error message will be shown now. 14413
* `TRUE`/`FALSE`/`NIL` constants are no longer defined.
* Integer#zero? overrides Numeric#zero? for optimization. 16961
* Enumerable#grep and Enumerable#grep_v when...
...tinuously 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)
//}

//emlist{
$ typeprof test.rb
# Classes
class Object
def foo : (Integer) -> String?
end

//}

== Miscellaneo...