Есть ли способ сопоставить следующую строку с любым из совпадений подколенного сухожилия.
"{\"messageType\":\"identify\",\"_id\":\"7de9a446-2ced-4bda-af35-81e95ad2dc32\",\"address\":\"192.168.0.0\",\"port\":7070}"
Эта строка передается методу. Я использую ожидания JMock, чтобы соответствовать этому.
Проблема: часть "72e3a446-2fed-4bda-ac35-34e95ab3dc32" является случайно сгенерированным UUID, который генерируется внутри тестируемого метода. Есть ли совпадение Hamcrest String, которое будет соответствовать что-то вроде
new StringCompositeMatcher("{\"messageType\":\"identify\",\"_id\":\"", with(any(String.class)), "\"address\":\"192.168.0.0\",\"port\":7070}" )
Должно совпадать, что ожидаемая строка начинается с "{\"messageType\":\"identify\",\"_id\":\"
, после которой есть любая строка, и заканчивается ",\"address\":\"192.168.0.0\",\"port\":7070}"
РЕДАКТИРОВАТЬ: решение
with(allOf(new StringStartsWith("{\"messageType\":\"identify\",\"_id\":\""), new StringEndsWith("\",\"address\":\"192.168.0.0\",\"port\":7070}")))