Azz*_*ziz 11 java junit unit-testing junit5
我正在尝试将参数化测试添加到我的Java程序中.我找到了JUnit 5的例子,我确实包含了这些例子.
https://blog.codefx.org/libraries/junit-5-parameterized-tests/
问题是我无法添加@ParameterizedTest,因为缺少命名空间.Idk为什么或如何.
该文档页面中明确指出它是在org.junit.jupiter.params,但我没有那个.
为了让您了解我的代码:
import org.junit.jupiter.api.Test;
import java.util.Arrays;
import java.util.Collection;
import static org.junit.jupiter.api.Assertions.*;
class SubsetPrinterTest
{
// https://blog.codefx.org/libraries/junit-5-parameterized-tests/
static Collection<Object[]> makeSetData()
{
return Arrays.asList(new Object[][]
{
{1, new char[]{'1'}},
{2, new char[]{'1', '2'}},
{3, new char[]{'1', '2', '3'}},
{4, new char[]{'1', '2', '3', '4'}},
{5, new char[]{'1', '2', '3', '4', '5'}}
});
}
// This should be a parameterized test using the makeSetData.
@Test
void makeSet()
{
// Arrange
SubsetPrinter subsetPrinter = new SubsetPrinter();
// Act
char[] set = SubsetPrinter.MakeSet(5);
// Assert
assertArrayEquals(set, new char[]{'1', '2', '3', '4', '5'});
assertEquals(set.length, 5);
}
}
Run Code Online (Sandbox Code Playgroud)
Sor*_*ras 11
您的项目类路径必须包括一个版本的junit-jupiter-params-xxx.jar,就像junit-jupiter-params-5.0.0.jar从http://central.maven.org/maven2/org/junit/jupiter/junit-jupiter-params/5.0.0/
codefx.org您链接的博客文章说(编辑到当前的5.0.0版本):
参数化测试入门非常简单,但在开始之前,您必须将以下依赖项添加到项目中:
Run Code Online (Sandbox Code Playgroud)Group ID: org.junit.jupiter Artifact ID: junit-jupiter-params Version: 5.0.0
可以手动下载和添加它,或者如果您正在使用具有依赖关系管理的构建工具(Gradle,Maven,...),则相应地配置构建脚本(build.gradle,pom.xml,...).
在这里找到一些通用样本:https://github.com/junit-team/junit5-samples
从版本5.4.0-M1开始,JUnit Jupiter提供了一个聚合器工件,它捆绑了所有可用的Jupiter定义工件,以方便使用.有关详细信息,请参阅https://sormuras.github.io/blog/2018-12-26-junit-jupiter-aggregator.html.
| 归档时间: |
|
| 查看次数: |
6047 次 |
| 最近记录: |