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 – Built in matchers – RSpec Expectations | RSpec – Relish [Official]

Built in matchers – RSpec Expectations | RSpec – Relish [Official]

Documentation for rspec-expectations | RubyDoc.info

be/eq/eql

参考:

`be` matchers – Built in matchers – RSpec Expectations | RSpec – Relish [Official]

Equality matchers – Built in matchers – RSpec Expectations | RSpec – Relish [Official]

include/contain_exactly

参考:

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

`include` matcher – Built in matchers – RSpec Expectations | 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 – Built in matchers – RSpec Expectations | RSpec – Relish [Official]

rspec not_to change from not behaving as expected – Stack Overflow

respond_to

参考:

`respond_to` matcher – Built in matchers – RSpec Expectations | RSpec – Relish [Official]

not_to/to_not

参考:

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

and/or

参考:

Compound Expectations – RSpec Expectations – 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 – Subject – RSpec Core | 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 (ja)

Tagged:

コメントを残す

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