Home | History | Annotate | Download | only in verification
      1 package org.mockito.internal.verification;
      2 
      3 import org.junit.Before;
      4 import org.junit.Test;
      5 import org.mockito.Mock;
      6 import org.mockito.exceptions.base.MockitoAssertionError;
      7 import org.mockito.internal.verification.api.VerificationData;
      8 import org.mockito.verification.VerificationMode;
      9 
     10 import static junit.framework.TestCase.assertEquals;
     11 import static junit.framework.TestCase.fail;
     12 import static org.mockito.Mockito.doThrow;
     13 import static org.mockito.Mockito.verify;
     14 import static org.mockito.MockitoAnnotations.initMocks;
     15 
     16 public class DescriptionTest {
     17 
     18     @Mock
     19     private VerificationMode mockVerificationMode;
     20 
     21     @Mock
     22     private VerificationData mockVerificationData;
     23 
     24     @Before
     25     public void setUp() {
     26         initMocks(this);
     27     }
     28 
     29     /**
     30      * Test of verify method, of class Description. This test validates that the custom message is prepended to the
     31      * error message when verification fails.
     32      */
     33     @Test
     34     public void verification_failure_should_prepend_expected_message() {
     35         String failureMessage = "message should be prepended to the original message";
     36         String exceptionMessage = "original error message";
     37         String expectedResult = failureMessage + "\n" + exceptionMessage;
     38         MockitoAssertionError error = new MockitoAssertionError(exceptionMessage);
     39         doThrow(error).when(mockVerificationMode).verify(mockVerificationData);
     40 
     41         Description instance = new Description(mockVerificationMode, failureMessage);
     42 
     43         try {
     44             instance.verify(mockVerificationData);
     45             verify(mockVerificationMode).verify(mockVerificationData);
     46             fail("Should not have made it this far");
     47 
     48         } catch (MockitoAssertionError e) {
     49             assertEquals(expectedResult, e.getMessage());
     50         }
     51     }
     52 }
     53