2017-03-24 10 views
0

は、私は今、私はassertAllメソッドを使用するStream<Executable>に変換しようとしているJavaのJUnitの5 AssertAllストリーム

ArrayList<Executable>(() -> assertTrue(true), ...) 

を抱えています。 (ArrayListのよりもきれいな方法が存在しない場合)私はStream<Executable>ArrayList<Executable>を変換するにはどうすればよい

public static void assertAll(Stream<Executable> executables) 
                throws MultipleFailuresError 

?すでに容易に入手ArrayListの要素を持っている場合、あなたはすでに合格できることを

assertAll(executableList.stream()); 

注:

参考:http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Assertions.html#assertAll-org.junit.jupiter.api.function.Executable...-

答えて

2

だけstream()Collectionを実装するすべてのクラスによって継承されたメソッドを呼び出しますそれらをassertAllに変更すると、可変入力を受け取るoverloaded methodがあるため、

assertAll(() -> assertTrue(true), ...) 

この方法では、ArrayListまたはStreamを作成する必要はありません。

+0

私はGoを試してみたいのですが、そのうちの1つが失敗した場合、テストは失敗し、arraylistではスイートがまだ保存されていますか? – Hendrik

+0

私はあなたの質問を完全に理解していませんでしたが、アサーションが動的に作成され、 'assertAll'を使用する必要がある場合は、答えに記載されているようにリストをストリームに変換できます。私が紛失しているものがあれば、元の質問を再定式化する方が良いかもしれません。 – manouti