2017-12-21 12 views
0

は、2つのパラメータを取るテスト機能があります。 私は@CsvSourceと1つの方法を見ましたが、これは です。上記の方法を試してみますが、リターンストリームには2つのパラメータが含まれています。ObjectArrayArgumentsクラス

ObjectArrayArgumentsは解決できません。 このクラスのインポート方法は? import org.junit.jupiter.params.provider.ObjectArrayArguments;を試しましたが、動作しません(Intelijは 'Symbol ObjectArrayArguments'を解決できません)

+0

あなたはどのように明確にすることができ"それは動作しません"?あなたはどんなエラーを出していますか? – Mureinik

+0

@Mureinik私は質問 –

答えて

2

ObjectArrayArgumentsはJUnitのメンバーではありません。

Argumentsのストリームを指定する必要があります。あなたは、このようなインスタンスを作成するファクトリメソッドArguments.of(Object...)を使用することがあります。

return Stream.of(
     Arguments.of(1, 2), 
     Arguments.of(3, 4) 
    ); 

詳細についてはここでhttp://junit.org/junit5/docs/current/user-guide/#writing-tests-parameterized-tests

でユーザーガイドをお読みMethodSourceを使用しての抜粋です。

@ParameterizedTest 
@MethodSource("stringIntAndListProvider") 
void testWithMultiArgMethodSource(String str, int num, List<String> list) { 
    assertEquals(3, str.length()); 
    assertTrue(num >=1 && num <=2); 
    assertEquals(2, list.size()); 
} 

static Stream<Arguments> stringIntAndListProvider() { 
    return Stream.of(
     Arguments.of("foo", 1, Arrays.asList("a", "b")), 
     Arguments.of("bar", 2, Arrays.asList("x", "y")) 
    ); 
} 
+0

をどういう意味ですか?http://junit.org/junit5/docs/snapshot/api/org/junit/jupiter/params/provider/ObjectArrayArguments.html –

+1

JavaDocのMatrixの不具合。これはもはやAPIの一部ではありません:https://github.com/junit-team/junit5/tree/master/junit-jupiter-params/src/main/java/org/junit/jupiter/params/provider – Sormuras

+0

JavaDocパッケージリストにも表示されません:http://junit.org/junit5/docs/snapshot/api/org/junit/jupiter/params/provider/package-summary.html – Sormuras