在测试中,函数输出的末尾有一个随机数。我需要使用正则表达式。当我手动检查输出时,它可以正常工作。但是我的测试没有通过。外观如下:
assert @tester.image == "http://loremflickr.com/300/300?random=#{/\d{1,3}/}"
URL的末尾包含1-3位数字。示例:
...random=476
在这种情况下如何正确使用正则表达式?
答案 0 :(得分:4)
您可以使用assert_match
,而不必手动处理该过程,从而使过程更加冗长。如果您的正则表达式工作正常,则:
assert_match /http:\/\/loremflickr\.com\/300\/300\?random=\d{1,3}/, @tester.image
或者不必转义特定字符:
%r{http://loremflickr\.com/300/300\?random=\d{1,3}}