我正在寻找嵌套JUnit测试的能力。我找到了@RunWith(Enclosed.class),但它只运行了一个级别,其他测试都没有运行。
答案 0 :(得分:1)
没关系,我在这里找到答案:NitorCreations Nested Runner
这正是我想要的。它允许JUnit测试完全嵌套。
答案 1 :(得分:0)
因为NestedRunner测试无法在IntelliJ IDEA中正确显示测试名称,所以我使用的是HierarchicalContextRunner
它提供完全相同的功能。如果您对IDE显示测试的方式不满意,可以在@RunWith
中交换它们。
这是一个错误的例子:
@RunWith(NestedRunner.class)
public class ATest {
@Test
public void haveARegularTestsInside() {}
public class hasASubClass {
@Test
public void thatHasTests() {}
}
}
看起来像这样:
在这里,我希望在最后一行有那个HasTests,但得到整个AClass $ hasASubClass.thatHasTests。
将@RunWith更改为HierarchicalContextRunner,现在你得到的是:
更好,不是吗?