Junit5 5.0.0 M4 では、次のことができます。
@ParameterizedTest
@MethodSource("generateCollections")
void testCollections(Collection<Object> collection) {
assertOnCollection(collection);
}
private static Iterator<Collection<Object>> generateCollections() {
Random generator = new Random();
// We'll run as many tests as possible in 500 milliseconds.
final Instant endTime = Instant.now().plusNanos(500000000);
return new Iterator<Collection<Object>>() {
@Override public boolean hasNext() {
return Instant.now().isBefore(endTime);
}
@Override public Collection<Object> next() {
// Dummy code
return Arrays.asList("this", "that", Instant.now());
}
};
}
または、何らかのタイプのコレクションが my に渡されることになった他の多くのもの@ParameterizedTest
。これは機能しなくなりました: エラーが表示されるようになりました
org.junit.jupiter.api.extension.ParameterResolutionException:
Error resolving parameter at index 0
私は SNAPSHOT への最近のコミットを見てきましたが、その領域にいくつかの変更がありますが、これを確実に変更するものは何も見当たりません。
これは意図的な変更ですか?JUnit5 開発者チャンネルでこれを尋ねたいのですが、見つかりません。それ自体はバグではありません。コレクションを渡すことは文書化された機能ではありません。
これが意図的な変更である場合、これは明確なユースケースです@TestFactory
...