Techioz Blog

すべての配列要素が同じクラスであることを期待します

概要

配列に特定のクラス、たとえば Float のオブジェクトのみが含まれていることを確認したいと考えています。

現時点での実際の例:

it "tests array_to_test class of elements" do
  expect(array_to_test.count).to eq(2)
  expect(array_to_test[0]).to be_a(Float)
  expect(array_to_test[1]).to be_a(Float)
end

array_to_test に Float インスタンスのみが含まれているかどうかを検証する方法はありますか?

動作しない疑似コードのサンプル:

it "tests array_to_test class of elements" do
  expect(array_to_test).to be_a(Array[Float])
end

Ruby と Rspec のバージョンを制限として考慮しないでください。

解決策

すべて試してください:

expect(array_to_test).to all(be_a(Float))