【发布时间】:2018-04-11 09:31:22
【问题描述】:
我正在实施Mockito extension for JUnit 5。假设我们在一个嵌套测试中并且想要为父测试类创建模拟。
class RootTest{
@Mock Foo mock;
@Nested
class NestedTest{
@Test
public void foo(){
mock.bar();
}
}
}
为此,我们需要RootTest 的实例,以便将模拟分配给带有@Mock 注释的字段。
当前的问题是获取RootTest类的实例。第一次尝试是通过ExtensionContext.getParent() 和ExtensionContext.getTestInstance() 获取它,但测试实例是null 用于父级。
Q:如何获取嵌套类的父实例?反射可能会有所帮助,但不是一种选择,因为它依赖于编译器。
【问题讨论】: