ハムクレストマッチャーのいずれかと次の文字列を一致させる方法はありますか?文字列のHamcrestマッチャー。文字列にいくつかのランダムな値が含まれています
"{\"messageType\":\"identify\",\"_id\":\"7de9a446-2ced-4bda-af35-81e95ad2dc32\",\"address\":\"192.168.0.0\",\"port\":7070}"
この文字列はメソッドに渡されます。私はそれにマッチするためにJMockの期待を使用します。
問題:「72e3a446-2fed-4bda-ac35-34e95ab3dc32」部分は、ランダムに生成されたUUIDで、テストされたメソッドの内部で生成されます。ソリューション
:それは期待文字列が"{\"messageType\":\"identify\",\"_id\":\"
そこに任意の文字列がその後で、
",\"address\":\"192.168.0.0\",\"port\":7070}"
EDITで終わるで始まることと一致しなければなりません
new StringCompositeMatcher("{\"messageType\":\"identify\",\"_id\":\"", with(any(String.class)), "\"address\":\"192.168.0.0\",\"port\":7070}")
のようなものと一致しますHamcrest文字列マッチャはあります
https://github.com/jayway/JsonPath/tree/master/json-path-assertをマッチャー 'ALLOF(のstartsWith( "... ")、endsWith(" ..."))'。 –