运行测试套件是否需要JUnit引擎?

tvokkenx  于 2022-11-11  发布在  其他
关注(0)|答案(1)|浏览(165)

一个测试套件需要junit-jupiter-engine作为依赖项,还是junit-jupiter-api就足够了?
在Stack Overflow -Difference between junit-jupiter-api and junit-jupiter-engine的一篇文章中,我发现这两个依赖项对于我们的测试套件的运行都是必不可少的。然而,引用下面的简单测试套件可以在没有前一个依赖项的情况下工作。

@Test
void testNull() {
    assertThatThrownBy(() -> {
        strategy.sort(null);
    }).isInstanceOf(NullPointerException.class);
}

@Test
void testEmptyArray() {
    int[] arr = new int[0];
    strategy.sort(arr);

    assertThat(arr).isEmpty();
}

@Test
void testUniqueEntries() {
    int[] arr = {1, 2, 14, 3, 45, 7, 24, 13};
    int[] expected = {1, 2, 3, 7, 13, 14, 24, 45};
    strategy.sort(arr);

    assertThat(arr).isEqualTo(expected);
}

@Test
void testDuplicationEntries() {
    int[] arr = {1, 5, 3, 7, 4, 3, 8, 2};
    int[] expected = {1, 2, 3, 3, 4, 5, 7, 8};
    strategy.sort(arr);

    assertThat(arr).isEqualTo(expected);
}

我想我还不能说出引擎和API之间的具体区别,所以我希望能对这个主题发表任何评论。(一个真实世界的类比会有很大的帮助。)

hlswsv35

hlswsv351#

是的,您需要junit-jupiter-engine依赖关系来触发构建期间的测试。
API只是帮助您编写junit测试的工具,引擎运行测试。

相关问题