org.mockito.junit
@Incubating public interface VerificationCollector extends org.junit.rules.TestRule
Although VerificationCollector
is a JUnit Rule, it does not necessarily have to be used as a Test Rule
- see collectAndReport()
.
In the example below, the verification failure thrown by byteReturningMethod()
does not block
verifying against the simpleMethod()
. After the test is run, a report is generated stating all
collect verification failures.
@Rule
public VerificationCollector collector = MockitoJUnit.collector();
@Test
public void should_fail() {
IMethods methods = mock(IMethods.class);
verify(methods).byteReturningMethod();
verify(methods).simpleMethod();
}
Mockito.verify(Object)
,
Mockito.verify(Object, VerificationMode)
Modifier and Type | Method and Description |
---|---|
VerificationCollector |
assertLazily()
Enforce all verifications are performed lazily.
|
void |
collectAndReport()
Collect all lazily verified behaviour.
|
@Incubating void collectAndReport() throws MockitoAssertionError
Normally, users don't need to call this method because it is automatically invoked when test finishes (part of the JUnit Rule behavior). However, in some circumstances and edge cases, it might be useful to collect and report verification errors in the middle of the test (for example: some scenario tests or during debugging).
@Rule
public VerificationCollector collector = MockitoJUnit.collector();
@Test
public void should_fail() {
IMethods methods = mock(IMethods.class);
verify(methods).byteReturningMethod();
verify(methods).simpleMethod();
//report all verification errors now:
collector.collectAndReport();
//some other test code
}
MockitoAssertionError
- If there were failed verifications@Incubating VerificationCollector assertLazily()
You should only use this method if you are using a VerificationCollector inside a method where only this method should be verified lazily. The other methods can still be verified directly.
@Test
public void should_verify_lazily() {
VerificationCollector collector = MockitoJUnit.collector().assertLazily();
verify(methods).byteReturningMethod();
verify(methods).simpleMethod();
collector.collectAndReport();
}