/* * Copyright (c) 2007 Mockito contributors * This program is made available under the terms of the MIT License. */ package org.mockitousage.misuse; import org.junit.Test; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.exceptions.misusing.InvalidUseOfMatchersException; import org.mockito.exceptions.misusing.UnfinishedStubbingException; import org.mockito.exceptions.misusing.UnfinishedVerificationException; import org.mockitousage.IMethods; import org.mockitoutil.TestBase; import static org.junit.Assert.fail; import static org.mockito.Matchers.anyObject; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; public class ExplicitFrameworkValidationTest extends TestBase { @Mock IMethods mock; @SuppressWarnings({"MockitoUsage", "CheckReturnValue"}) @Test public void shouldValidateExplicitly() { verify(mock); try { Mockito.validateMockitoUsage(); fail(); } catch (UnfinishedVerificationException e) {} } @SuppressWarnings({"MockitoUsage", "CheckReturnValue"}) @Test public void shouldDetectUnfinishedStubbing() { when(mock.simpleMethod()); try { Mockito.validateMockitoUsage(); fail(); } catch (UnfinishedStubbingException e) {} } @Test public void shouldDetectMisplacedArgumentMatcher() { anyObject(); try { Mockito.validateMockitoUsage(); fail(); } catch (InvalidUseOfMatchersException e) {} } }