1

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...

4

1 に答える 1