💭

RSpec で配列に複数の特定の要素が含まれているかどうか検証する

2025/01/21に公開

そういえばこういうのってやったことがなかったなーと思ったので覚書。
配列に対して特定の要素が含まれているかどうかは include マッチャで検証することが多いと思います。

require "rspec"

describe "test" do
  subject { %w(homu mami mado) }

  # 配列に "homu" が含まれているかどうか検証する
  it { is_expected.to include "homu" }
end

この時に『配列に対して複数の要素が含まれているかどうか』ってどうやって判定するんだっけ?と思って調べてみたら普通に複数の要素を渡せばよさそうでした。

require "rspec"

describe "test" do
  subject { %w(homu mami mado) }

  # "homu" と "mami" の複数の要素が含まれているかどうか
  it { is_expected.to include "homu", "mami" }

  # こっちはテストが落ちる
  it { is_expected.to include "homu", "saya" }
end

便利。

関連

GitHubで編集を提案

Discussion