dopasowujących Collection (wszystkie dopasowujących że dochodzić od smyczki, skrótów i tablic) zostały wyabstrahowane się do klejnotu indywidualne, rspec-collection_matchers .
Aby wykorzystać te dopasowujące dodać do swojej Gemfile
:
gem 'rspec-collection_matchers'
lub swojej .gemspec
jeśli pracujesz na gem:
spec.add_development_dependency 'rspec-collection_matchers'
Następnie dodać do swojej spec_helper.rb
:
require 'rspec/collection_matchers'
A następnie będziesz mógł skorzystać dopasowujących kolekcję w swojej specyfikacji:
require spec_helper
describe 'array' do
subject { [1,2,3] }
it { is_expected.to have(3).items }
it { is_expected.to_not have(2).items }
it { is_expected.to_not have(4).items }
it { is_expected.to have_exactly(3).items }
it { is_expected.to_not have_exactly(2).items }
it { is_expected.to_not have_exactly(4).items }
it { is_expected.to have_at_least(2).items }
it { is_expected.to have_at_most(4).items }
# deliberate failures
it { is_expected.to_not have(3).items }
it { is_expected.to have(2).items }
it { is_expected.to have(4).items }
it { is_expected.to_not have_exactly(3).items }
it { is_expected.to have_exactly(2).items }
it { is_expected.to have_exactly(4).items }
it { is_expected.to have_at_least(4).items }
it { is_expected.to have_at_most(2).items }
end
pamiętać, że można użyć items
i characters
zamiennie, są one po prostu składnia cukru, a have
dopasowujący i jego odmiany, może być używany na tablic, skrótów i Twojego ciąg .