我可以使用Mockito测试调用我对象上的方法是否调用超级实现?我找不到办法做到这一点。基本上我想要这样的东西:
@RunWith(RobolectricTestRunnerWithInjection.class)
public class TestFragmentTest {
@Spy private TestFragment testFragment;
@Test
public void onConfigurationChanged_shouldNotCallSuper() {
doThrow(new RuntimeException("Should not call super!")).when(superOf(testFragment))
.onConfigurationChanged(null);
testFragment.onConfigurationChanged(null);
}
private static class TestFragment extends Fragment {
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
}
}
Mockito当然没有superOf
实用程序,但这表达了我正在寻找的行为。
答案 0 :(得分:0)
执行此操作的一种方法是在您的超类中放置一个特殊变量,该变量仅在您在子类中调用的构造函数中初始化。
通过这种方式,您可以添加一个函数来检查变量是否已在超类中更改。