Class VerificationCollectorImpl

  • All Implemented Interfaces:
    org.junit.rules.TestRule, VerificationCollector

    public class VerificationCollectorImpl
    extends java.lang.Object
    implements VerificationCollector
    Mockito implementation of VerificationCollector.
    • Field Detail

      • builder

        private java.lang.StringBuilder builder
      • numberOfFailures

        private int numberOfFailures
    • Constructor Detail

      • VerificationCollectorImpl

        public VerificationCollectorImpl()
    • Method Detail

      • apply

        public org.junit.runners.model.Statement apply​(org.junit.runners.model.Statement base,
                                                       org.junit.runner.Description description)
        Specified by:
        apply in interface org.junit.rules.TestRule
      • collectAndReport

        public void collectAndReport()
                              throws MockitoAssertionError
        Description copied from interface: VerificationCollector
        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
           }
         
        Specified by:
        collectAndReport in interface VerificationCollector
        Throws:
        MockitoAssertionError - If there were failed verifications
      • assertLazily

        public VerificationCollector assertLazily()
        Description copied from interface: VerificationCollector
        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();
           }
         
        Specified by:
        assertLazily in interface VerificationCollector
        Returns:
        this
      • resetBuilder

        private void resetBuilder()
      • append

        private void append​(java.lang.String message)