0
在Ruby單元測試中,我該如何聲明一個字符串與另一個字符串匹配,即使套管可能不同?我想避免消毒這兩個字符串來匹配incase我需要回來做一些調查,但同時他們是相同的結果。Ruby單元測試聲明匹配不區分大小寫的字符串
e.g assert_match 'Test', 'TEST'
我試着assert_match捏造作出區分大小寫的比較,但我迄今沒有運氣,我不能讓過去的正則表達式的老隱式轉換爲字符串。
module Test::Unit::Assertions
def assert_match matcher, obj, msg = nil
msg = message(msg) { "Expected #{mu_pp matcher} to match #{mu_pp obj}" }
assert_respond_to matcher, :"=~"
matcher = Regexp.new Regexp.escape matcher if String === matcher
assert matcher =~ /#{obj}/i, /#{msg}/i
end
end
而絕對downcase是最容易爲這種情況下,你可以使用'assert_match /測試/我,「TEST'' [示例](HTTP:// rubular.com/r/ncKw2ZIowQ)。 'assert_match'需要一個「匹配器」(正則表達式匹配)和「obj」值來嘗試和匹配。 「msg」只是在失敗時顯示的消息。爲了實現這種動態,你可以簡單地使用'assert_match /#{matcher}/i,value',其中匹配器是匹配的字符串,value是要比較的字符串。 – engineersmnky