1 /* 2 * Copyright (c) 2017 Mockito contributors 3 * This program is made available under the terms of the MIT License. 4 */ 5 package org.mockitousage.junitrunner; 6 7 import org.junit.Test; 8 import org.junit.runner.RunWith; 9 import org.mockito.Answers; 10 import org.mockito.Mock; 11 import org.mockito.junit.MockitoJUnitRunner; 12 13 @RunWith(MockitoJUnitRunner.class) 14 public class DeepStubbingWithJUnitRunnerTest { 15 16 private final SomeClass someClass = new SomeClass(); 17 18 @Mock(answer = Answers.RETURNS_DEEP_STUBS) 19 private Root root; 20 21 @Test deep_stubs_dont_trigger_unnecessary_stubbing_exception()22 public void deep_stubs_dont_trigger_unnecessary_stubbing_exception() { 23 // when 24 someClass.someMethod(root); 25 26 // then unnecessary stubbing exception is not thrown 27 } 28 29 public static class SomeClass { someMethod(Root root)30 void someMethod(Root root) { 31 root.getFoo().getBar(); 32 } 33 } 34 35 interface Root { getFoo()36 Foo getFoo(); 37 } 38 39 interface Foo { getBar()40 Bar getBar(); 41 } 42 43 interface Bar {} 44 } 45