Home | History | Annotate | Download | only in junitrunner
      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) private Root root;
     19 
     20     @Test
     21     public void deep_stubs_dont_trigger_unnecessary_stubbing_exception() {
     22         //when
     23         someClass.someMethod(root);
     24 
     25         //then unnecessary stubbing exception is not thrown
     26     }
     27 
     28     public static class SomeClass {
     29         void someMethod(Root root) {
     30             root.getFoo().getBar();
     31         }
     32     }
     33 
     34     interface Root {
     35         Foo getFoo();
     36     }
     37 
     38     interface Foo {
     39         Bar getBar();
     40     }
     41 
     42     interface Bar {
     43 
     44     }
     45 }
     46