Interface VerificationCollector
-
- All Superinterfaces:
TestRule
public interface VerificationCollector extends TestRule
Use this rule in order to collect multiple verification failures and report at once. This new API in incubating - let us know if you find this feature useful. Should it be turned on by default with Mockito JUnit Rule?Although
VerificationCollector
is a JUnit Rule, it does not necessarily have to be used as a Test Rule - seecollectAndReport()
.In the example below, the verification failure thrown by
byteReturningMethod()
does not block verifying against thesimpleMethod()
. 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(); }
- Since:
- 2.1.0
- See Also:
Mockito.verify(Object)
,Mockito.verify(Object, org.mockito.verification.VerificationMode)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description VerificationCollector
assertLazily()
Enforce all verifications are performed lazily.void
collectAndReport()
Collect all lazily verified behaviour.
-
-
-
Method Detail
-
collectAndReport
void collectAndReport() throws MockitoAssertionError
Collect all lazily verified behaviour. If there were failed verifications, it will throw a MockitoAssertionError containing all messages indicating the failed verifications.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 }
- Throws:
MockitoAssertionError
- If there were failed verifications- Since:
- 2.1.0
-
assertLazily
VerificationCollector assertLazily()
Enforce all verifications are performed lazily. This method is automatically called when used as JUnitRule and normally users don't need to use it.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(); }
- Returns:
- this
- Since:
- 2.1.0
-
-