我想知道我是否有语法错误或错误?
我的测试中有这个断言:
verify(myHttpClient).updateConfig(anyString(),anyString(),
argThat(new OnlySpecificCountryInPropertiesHasChangedMatcher(countryGasStationConfig, originalProps)),
anyObject(), anyObject());
这是我的自定义匹配器:
public class OnlySpecificCountryInPropertiesHasChangedMatcher extends ArgumentMatcher<Map<String, Map<String, String>>> {
private final CountryGasStationConfig expectedDelta;
private final Map<String, String> originalConfiguration;
private final StringUtils stringUtils;
private final ListUtils listUtils;
public OnlySpecificCountryInPropertiesHasChangedMatcher(CountryGasStationConfig expected, Map<String, String> originalVenuesConfigStr) {
this.expectedDelta = expected;
this.originalConfiguration = originalVenuesConfigStr;
this.stringUtils = new StringUtils();
this.listUtils = new ListUtils();
}
@Override
public boolean matches(Object actual) {
System.out.println("in matches");
//some code
}
当我在intellij
中的调试中运行测试时匹配构造函数中的断点称为
但不调用matches
方法中的断点。
并且从未打印过系统输出,似乎测试通过(但我认为它从未被调用过)
当我运行./gradlew test
时,系统输出不会被打印,但测试失败。