間/ JUnitの5の@ParametrizedTest @TestFactoryストリーム<DynamicTest>以上を使用することの利点の違いは何ですか?

アンドリュー・チョン:

まず、彼らはの結論で、このことにより、何を意味していますJUnitの5の動的試験へのガイド

パラメータ化されたテストは、この記事の例の多くを置き換えることができます。彼らは完全なテストのライフサイクルをサポートするようパラメータ化テストがいない間しかし、動的なテストは、パラメータ化テストとは異なります。

私はざっと目を通したパラメータ化テストを- JUnitの5:と私は構文レベルでの違いを理解し、また、私はこれを取得すると考えていると信じて

また、動的テストは入力が生成され、どのようにテストが実行される方法についてより多くの柔軟性を提供します。

しかし、なぜ誰もが動的試験上のパラメータ化テストを好むだろう、のように思えますか?

Sormuras:

動的なテストでは、私はテストレットとしてそれらを参照して、単にソフト/( -アサーショングループ化されているassertAll(...)ステロイドを)。あなたは、レポートの各生成された動的テストのためのエントリが表示されますが、そうではありません本当のテスト。

(baeldungから)引用あなたは、あなたの質問にコピー間違っていますこれは、JUnitののユーザーガイドとしてお読みください:

動的試験のライフサイクル

動的テストの実行のライフサイクルは、それが標準の場合よりもかなり異なっている@Test場合。具体的には、個々のダイナミック・テストのためのライフサイクルコールバックはありません。この手段@BeforeEach及び@AfterEach方法とそれに対応する拡張コールバックをするために実行される@TestFactory方法ではなく、各動的試験のために。

続きを読む詳細については:https://junit.org/junit5/docs/current/user-guide/#writing-tests-dynamic-testsを

なぜ誰もが動的試験の上にパラメータ化テストを好むだろうか?

  1. あなたは、各テスト(テンプレートの呼び出し)のための完全なライフサイクルサポートが必要な場合。
  2. あなたは注釈で、あなたの引数を宣言します。

より多くの様々な形で議論を提供する方法の詳細検索@ParameterizedTestここ:https://junit.org/junit5/docs/current/user-guide/#writing-tests-parameterized-tests -心クラス」というの/コンテナテンプレートは、」将来のリリースが予定されていますhttps://github.com/junit-team/junit5/issues/878

私はここでのJUnit木星と3つのアサーションを散乱させる5つのステップを比較するブログ記事を書いた:https://sormuras.github.io/blog/2018-05-14-junit5-scatter-assertions.html ここでは、画像の説明を入力します。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=180861&siteId=1