cover
匹配器
使用 cover
匹配器指定范围涵盖一个或多个预期对象。这适用于任何响应 #cover?
的对象(例如 Range
)
expect(1..10).to cover(5)
expect(1..10).to cover(4, 6)
expect(1..10).not_to cover(11)
范围用法
给定一个名为“rangecovermatcher_spec.rb”的文件,其中包含
RSpec.describe (1..10) do
it { is_expected.to cover(4) }
it { is_expected.to cover(6) }
it { is_expected.to cover(8) }
it { is_expected.to cover(4, 6) }
it { is_expected.to cover(4, 6, 8) }
it { is_expected.not_to cover(11) }
it { is_expected.not_to cover(11, 12) }
# deliberate failures
it { is_expected.to cover(11) }
it { is_expected.not_to cover(4) }
it { is_expected.not_to cover(6) }
it { is_expected.not_to cover(8) }
it { is_expected.not_to cover(4, 6, 8) }
# both of these should fail since it covers 5 but not 11
it { is_expected.to cover(5, 11) }
it { is_expected.not_to cover(5, 11) }
end
当我运行 rspec range_cover_matcher_spec.rb
那么输出应包含以下所有内容
14 个示例,7 个失败 |
预期 1..10 涵盖 11 |
预期 1..10 不涵盖 4 |
预期 1..10 不涵盖 6 |
预期 1..10 不涵盖 8 |
预期 1..10 不涵盖 4、6 和 8 |
预期 1..10 涵盖 5 和 11 |
预期 1..10 不涵盖 5 和 11 |