一个测试套件需要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之间的具体区别,所以我希望能对这个主题发表任何评论。(一个真实世界的类比会有很大的帮助。)
1条答案
按热度按时间hlswsv351#
是的,您需要
junit-jupiter-engine
依赖关系来触发构建期间的测试。API只是帮助您编写junit测试的工具,引擎运行测试。