を確認します。春ブーツとMockitoは私が方法が与えられたパラメータで呼び出されたことを確認したいテストを持って常に真
@Autowired
private Client client;
@Autowired
private OtherClient otherClient;
@Test
public void test() {
client.push();
Mockito.verify(otherClient).publishReset(
Mockito.anyString(),
Mockito.argThat(l -> l.size() == 3)
);
}
問題はMockito.verify
が全く失敗しないということですが、私は置き換えることができますl -> l.size() == 3
と他のサイズの一致およびテストは常に合格となります。どのように私がargThatに渡すものであれ、常に検証がどのように合格することが可能ですか?
全例:
@EnableConfigurationProperties
@TestExecutionListeners(listeners = {
DirtiesContextTestExecutionListener.class,
DirtiesContextBeforeModesTestExecutionListener.class,
ServletTestExecutionListener.class,
DependencyInjectionTestExecutionListener.class,
MockitoTestExecutionListener.class,
TransactionalTestExecutionListener.class,
WithSecurityContextTestExecutionListener.class
})
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
@EnableAspectJAutoProxy(proxyTargetClass = true)
@ContextConfiguration(
loader = SpringBootContextLoader.class,
classes = {MyApp.class, IntegrationTestContext.class})
@RunWith(SpringRunner.class)
public class FooIT {
@Autowired
private Client client;
@Autowired
private OtherClient otherClient;
@Test
public void test() {
client.push();
Mockito.verify(otherClient).publishReset(
Mockito.anyString(),
Mockito.argThat(l -> l.size() == 3)
);
}
}
と構成クラス:
@Configuration
@MockBeans({
@MockBean(OtherClient.class),
})
public class IntegrationTestContext {
}
は私が間違ってやっている何かがありますか?どういうわけか、Springがmockitoに干渉していますか?