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
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)
参考:
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