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);
}
}
プロジェクトクラスパスには、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 を参照してください。
以下の依存関係を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>