match
匹配器
match
匹配器在对象上调用 #match
,如果 #match
返回一个真值(不是 false
或 nil
),则通过。Regexp
和 String
都提供 #match
方法。
expect("a string").to match(/str/) # passes
expect("a string").to match(/foo/) # fails
expect(/foo/).to match("food") # passes
expect(/foo/).to match("drinks") # fails
您也可以使用此匹配器在组合匹配器时匹配嵌套数据结构。
字符串用法
给定一个名为“stringmatchspec.rb”的文件,其中包含
RSpec.describe "a string" do
it { is_expected.to match(/str/) }
it { is_expected.not_to match(/foo/) }
# deliberate failures
it { is_expected.not_to match(/str/) }
it { is_expected.to match(/foo/) }
end
当我运行 rspec string_match_spec.rb
那么输出应包含所有这些
4 个示例,2 个失败 |
期望“a string”不匹配 /str/ |
期望“a string”匹配 /foo/ |
正则表达式用法
给定一个名为“regexpmatchspec.rb”的文件,其中包含
RSpec.describe /foo/ do
it { is_expected.to match("food") }
it { is_expected.not_to match("drinks") }
# deliberate failures
it { is_expected.not_to match("food") }
it { is_expected.to match("drinks") }
end
当我运行 rspec regexp_match_spec.rb
那么输出应包含所有这些
4 个示例,2 个失败 |
期望 /foo/ 不匹配“food” |
期望 /foo/ 匹配“drinks” |