web-dev-qa-db-ja.com

JUnit5にorg.junit.jupiter.paramsがありません

Javaプログラムにパラメーター化されたテストを追加しようとしています。JUnit5の例が含まれているので、これを含めました。

https://blog.codefx.org/libraries/junit-5-parameterized-tests/

問題は、名前空間がないために@ParameterizedTestを追加できないことです。 Idk理由または方法。

documentation ページには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);
    }
}
11
AzzamAziz

プロジェクトクラスパスには、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リリースに編集済み):

パラメーター化されたテストの開始は非常に簡単ですが、楽しみを始める前に、次の依存関係をプロジェクトに追加する必要があります。

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 を参照してください。

11
Sormuras

以下の依存関係を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

0
147.3k