JUnit5中缺少组织.junit.jupiter.参数

0ejtzxu1  于 2022-11-11  发布在  其他
关注(0)|答案(3)|浏览(175)

我 正在 尝试 将 参数 化 测试 添加 到 我 的 Java 程序 中 。 我 找到 了 JUnit 5 的 示例 , 我 确实 包括 了 它 。
https://blog.codefx.org/libraries/junit-5-parameterized-tests/ 的 最 大 值
问题 是 我 无法 添加@ParameterizedTest , 因为 缺少 命名 空间 。 请 查找 原因 或 方法 。
文档 页面 清楚 地 说明 它 在 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);
    }
}

中 的 每 一 个

0x6upsns

0x6upsns1#

您的项目类路径必须包含junit-jupiter-params-xxx.jar的一个版本,如http://central.maven.org/maven2/org/junit/jupiter/junit-jupiter-params/5.0.0/中的junit-jupiter-params-5.0.0.jar
您链接到的来自codefx.org的博客文章说(已编辑为当前的5.0.0版本):
开始使用参数化测试非常简单,但是在开始使用之前,您必须将以下依赖项添加到项目中:

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

ebdffaop

ebdffaop2#

在pom.xml中添加以下依赖项。jupiter API [Junit 5]将模块作为插件来处理,必须特意添加上的每个,

<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter-params</artifactId>
  <version>${junit.version}</version>
  <scope>test</scope>
</dependency>

更多关于:https://mvnrepository.com/artifact/org.junit.jupiter

jei2mxaa

jei2mxaa3#

更具体地说,
https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-params</artifactId>
    <version>5.7.1</version>
    <scope>test</scope>
</dependency>

它将被标记,因此点击以更新/刷新MAVEN

相关问题