expect とマッチャーの使い方

ドキュメント

参考:

Module: RSpec::Matchers — Documentation for rspec-expectations | RubyDoc.info

expect

参考:

RSpec の should はもう古い!新しい記法 expect を使おう!- Qiita

should を捨て expect を使うようになった、たった一つの理由 | MUGENUP 技術ブログ

マッチャー

  • be_truthy
  • be_falsey
  • be_empty

参考:

使える RSpec 入門・その2 使用頻度の高いマッチャを使いこなす – Qiita

今日から使える!RSpec 3 で追加された8つの新機能 – Qiita

RSpec 3 の新機能 コンポーザブルマッチャー | 有頂天 Ruby

RSpec の標準 matchers マッチャー 一覧 | 酒と涙とRubyとRailsと

RSpec の標準 Matcher 一覧表 | 本当は怖い情報科学

RSpec::Expectations Cheat Sheet | lazybios

RSpec::Expectations Cheat Sheet | Ruby Pigeon

RSpec – List of available Expectation Matchers – from Lynda.com course ‘RSpec Testing Framework with Ruby’ – GitHub Gist

Predicate matchers | RSpec (Relish) [Official]

Built in matchers | RSpec (Relish) [Official]

Documentation for rspec-expectations | RubyDoc.info

be / eq / eql

参考:

`be` matchers | RSpec (Relish) [Official]

Equality matchers | RSpec (Relish) [Official]

be_a_new

参考:

be_a_new matcher | RSpec (Relish) [Official]

include / contain_exactly

参考:

RSpec で配列の検証をする方法を整理しておく | takatoshiono’s blog

`include` matcher | RSpec (Relish) [Official]

ハッシュ

参考:

rspec の include で hash 構造をチェックするテスト – GitHub Gist

rspec Hash structure matcher | reddit

Testing hash contents using RSpec – Stack Overflow

change

expect{ x.pop }.to change{ x.size }.from(3).to(2)

参考:

使える RSpec 入門・その2 使用頻度の高いマッチャを使いこなす – Qiita

RSpec 3.8.0 で Change マッチャーの細かな振る舞いが変わった | koic の日記

`change` matcher | RSpec (Relish) [Official]

rspec not_to change from not behaving as expected – Stack Overflow

respond_to

参考:

`respond_to` matcher | RSpec (Relish) [Official]

not_to / to_not

参考:

RSpec で「~ではないこと」を検証するときは expect(x).to_not 、または expect(x).not_to のどちらを使うべきか? – Qiita

and / or

参考:

Compound Expectations | RSpec (Relish) [Official]

satisfy

`satisfy` matcher | RSpec (Relish) [Official]

コンポーザブルマッチャー

参考:

RSpec 3 の新機能 コンポーザブルマッチャー | 有頂天 Ruby

New in RSpec 3: Composable Matchers | RSpec

ネゲートマッチャー (define_negated_matcher)

参考:

Method: RSpec::Matchers.define_negated_matcher — Documentation for rspec/rspec-expectations | RubyDoc.info

Add `define_negated_matcher` by myronmarston · Pull Request #618 · rspec/rspec-expectations – GitHub

Add RSpec::Matchers.define_negated_matcher · Issue #527 · rspec/rspec-expectations – GitHub

Composable Matchers – Negative Form · Issue #493 · rspec/rspec-expectations – GitHub

Negate Compound Matchers · Issue #664 · rspec/rspec-expectations – GitHub

Is there a not for `and change`, e.g. `and_not to change`? – Stack Overflow

is_expected

参考:

One-liner syntax | RSpec (Relish) [Official]

JSON

参考:

r7kamura/rspec-json_matcher: RSpec matcher for testing JSON string – GitHub

collectiveidea/json_spec: Easily handle JSON in RSpec and Cucumber – GitHub

rspec-json_matcher で JSON の検証を自由自在に行う – Qiita

Rspec で Json をテストする Matcher – Qiita

スタイルガイド

参考:

rubocop-hq/rspec-style-guide: Best practices for writing your specs! – GitHub

Better Specs – rspec guidelines with ruby

Better Specs – rspec guidelines with ruby [日本語]

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA