在intellij中运行时,我的自定义匹配器无法调试

时间:2016-10-18 07:36:59

标签: java unit-testing intellij-idea hamcrest

我想知道我是否有语法错误或错误?

我的测试中有这个断言:

    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时,系统输出不会被打印,但测试失败。

0 个答案:

没有答案