• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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