2016-07-25 11 views
0

Rubyユニットテストでは、ケーシングが異なっていても文字列が別の文字列と一致すると主張するにはどうすればよいですか?私は戻っていくつかの調査をする必要があるが、同時に彼らは同じ結果であると一致するように2つの文字列を消毒することを避けたい。Rubyユニットテストアサートで大文字と小文字を区別しない文字列を一致させる

e.g assert_match 'Test', 'TEST' 

私は比較大文字と小文字を区別をするためにassert_matchでfudging試してみたが、私はこれまで何の運を持っていなかったと私は文字列に正規表現の古い暗黙の型変換を乗り越えることができません。

+0

をrubular.com/r/ncKw2ZIowQ)。 'assert_match'は"正規表現 "(正規表現と照合する)を期待し、" obj "は試行して照合する値を期待します。 "msg"は単に失敗したときに表示するメッセージです。この動的にするには、 'assert_match /#{matcher}/i、value'を使うだけです。ここで、matcherは一致させる文字列、valueは比較する文字列です。 – engineersmnky

答えて

3

両方の文字列にdowncaseを使用します。

assert_equal "expected".downcase, actual.downcase 

したり、独自の方法で書く://:downcaseは間違いなくあなたが `assert_match /テスト/ I「TEST'` [例](HTTPを使用することができ、この場合の最も簡単である一方、

def assert_equal_case_insensitive(expected, actual) 
    assert_equal expected.downcase, actual.downcase 
end 
関連する問題