1

亲爱的,我正在尝试使用 Mockito 根据地图中包含的值创建不同的模拟。根据文档,我创建了两个运行逻辑的不同 ArgumentMatchers

private class ConsumerValidMap implements ArgumentMatcher<Map<String, Object>> {

    @Override
    public boolean matches(Map<String, Object> argument) {
        return argument.get("TYPE").equals("CONSUMER");
    }
}

private class BayValidMap implements ArgumentMatcher<Map<String, Object>> {

    @Override
    public boolean matches(Map<String, Object> argument) {
        return argument.get("TYPE").equals("BAY");
    }
}

如果我创建模拟如下:

@Before
public void setUp() {
    Mockito.when(idAndTypeDtoMapper.toDto(argThat(new ConsumerValidMap()))).thenReturn(identityConsumer);
    Mockito.when(idAndTypeDtoMapper.toDto(argThat(new BayValidMap()))).thenReturn(identityBay); 
}

我得到了错误:

[MockitoHint] 1. Unused... -> at com.virtualentity.unit.service.ExtractorServiceTest.setUp(ExtractorServiceTest.java:123)
[MockitoHint]  ...args ok? -> at com.virtualentity.unit.service.ExtractorServiceTest.setUp(ExtractorServiceTest.java:124)

我还尝试创建 ArgumentMatchers 的实例,但仍然出现错误。有什么建议么?

谢谢

4

0 回答 0