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