26

JUnit5 がリリースされているのを見て、IntelliJ V2016.2.1 に適用し、いくつかのテストケースを実行しました。

下のスクリーンショットを見ました。

忙しい猫

2つだけ質問があります。

  1. IntelliJ で TestCase を実行すると、JUnit Jupiter と JUnit Vintage が分離されたのはなぜですか?

  2. JUnit 4 と 5 の TestResult をマージできますか?

4

2 に答える 2

34

JUnit 5 は単なる新しい API ( JUnit Jupiterと呼ばれる) ではありません。また、JUnit テストを実行するためのツール ( JUnit Platformと呼ばれる) の抽象化レイヤーも含まれています。プラットフォームには、JUnit 4 や Jupiter などの知識はまったくありません。それが知っているのはテストエンジンだけであり、それは書かれたテストを実行します。

(詳細については、ユーザー ガイドまたはJUnit 5 のアーキテクチャについて書いた記事を参照してください。)

  1. IntelliJ で TestCase を実行すると、JUnit Jupiter と JUnit Vintage が分離されたのはなぜですか?

表示されているのは、新しい API ( Jupiter ) 用と JUnit 4 ( Vintage )用の 2 つのエンジンを実行するランチャーです。各エンジンは、IntelliJ がツリーとして表示する独自のデータ構造で実行されたテストを表します。

  1. JUnit 4 と 5 の TestResult をマージできますか?

これは、私の知る限り、実装されていない IDE 機能でなければなりません。

于 2016-08-08T07:00:11.123 に答える
14

場合@RunWith(SpringRunner.class)によっては、クラスの上に注釈を使用する場合は、それを削除できます。これはうまく機能します。これは、注釈の前に私が持っているものです - Junit ヴィンテージが失敗したことを示しています。

ここに画像の説明を入力

これは、注釈を削除した後です。

ここに画像の説明を入力

于 2021-01-14T07:42:16.723 に答える