





























Published · 1 min read
Recently, I was working on a project and I missed a case in unit tests. I didn't want to verify each argument but rather wanted to check if an object has a certain attribute set. In the older versions of mockito, this wasn't doable. Since mockito 2.1, you can now do argument verification through argThat. Let's see an example of this in action.
@Test
public void testWritesWithAttributes(){
final String myExpectedId = "expected-id"
final Timestamp myExpectedTimestamp = Timestamp.from(Instant.now())
final MockData mockData = new MockData();
mockData.setId(myExpectedId);
mockData.setEvent(MyEvent.builder().timestamp(myExpectedTimestamp).build());
myMockService.saveMyData(mockData);
verify(myDao).writeSomeData(
argThat(id -> id.equals(myExpectedId)), anyLong(),
argThat(event -> event.getTimestamp().equals(myExpectedTimestamp)));
}
As you can see, I'm only looking for the attributes I'm interested in. I can skip the others and verify the attributes I should.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。