如何在Java JUnit中获得大纲规范?

时间:2016-03-30 18:30:11

标签: java junit

我正在寻找嵌套JUnit测试的能力。我找到了@RunWith(Enclosed.class),但它只运行了一个级别,其他测试都没有运行。

2 个答案:

答案 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() {}
    }
}

看起来像这样:

enter image description here

在这里,我希望在最后一行有那个HasTests,但得到整个AClass $ hasASubClass.thatHasTests。

将@RunWith更改为HierarchicalContextRunner,现在你得到的是:

enter image description here

更好,不是吗?