Test::Unit
Ruby
のテストフレームワークであるTest::Unit
についてです*1。
「正規表現に一致」する assert が見つからない
たぶん調べ方がイケてないと思うのですが「正規表現に一致」するかどうかの assert が、サラッと調べた感じでは見つかりませんでした。ドキュメントにも見当たらないです*2。assert_equal
にて、第一引数を"=~ /hoge/"
としてもだめでした*3。
結論(「正規表現に一致」する assert)
assert_match
使用例
def test_method_name assert_match /^Hello, .*!$/, hello end
注意点
第一引数の取り方に注意です*4。
OK
assert_match /^Hello, .*!$/, hello
NG(クォートの必要なし)
assert_match "/^Hello, .*!$/", hello
そしてすぐに気づく
assert_equal
でいけますよね、これ。第一引数をboolean
にして、第二引数に===
を使って比較すればいいですね。以下のような感じです。
def test_method_name assert_equal true, /^Hello, .*!$/ === hello end
技術力の無さを露呈してしまい、相変わらず情けない……。