Привет Я пишу пользовательский Искателя, чтобы проверить два различных объекта, и мой код:Пользовательские matchers с другой объект
public class DetailsMatcher extends ArgumentMatcher <Details> {
private final Details expected;
private DetailsMatcher(Details expected) {
this.expected = expected;
}
@Override
public boolean matches(Object actual) {
return ((Request) actual).getId().equals(expected.getId());
}
@Override
public void describeTo(Description description) {
description.appendText(expected == null ? null : expected.toString());
}
public static Details valueObjectEq(Details expected) {
return argThat(new DetailsMatcher(expected));
}
}
И я хочу использовать его в моем тесте, как:
assertThat(requestModel, DetailsMatcher.valueObjectEq(response));
Но это два разных объекта, так что он не работает. Я не хочу менять свои объекты только для целей тестирования, так что у нас есть api вроде assertThat, который позволяет передавать другой объект просто полагаться на результат совпадений, а не на то, чтобы заставить его и ожидать того же типа?