問題タブ [junit5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
52681 参照

java - assertAll と JUnit5 の複数のアサーション

複数のアサーションをグループ化する理由はありますか:

これを行う代わりに:

0 投票する
4 に答える
13895 参照

gradle - JUnit5 タグ固有の gradle タスク

次の注釈を使用して、統合テストにタグを付けます。

これは、build.gradleこれらのテストを から除外するために使用するフィルターgradle buildです。

ここまでは順調ですね。

ここで、具体的に統合テストを実行する Gradle タスクを提供したいと思います。推奨されるアプローチは何ですか?

0 投票する
4 に答える
135055 参照

java - JUnit5でMockitoを使用する方法

Mockito と JUnit 5 でインジェクションを使用するにはどうすればよいですか?

@RunWith(MockitoJUnitRunner.class)JUnit4 では、アノテーションを使用するだけです。JUnit5には@RunWith注釈はありませんか?

0 投票する
3 に答える
4027 参照

java - JUnit で、テスト メソッドを「固有のメソッドに解決できませんでした」と表示される

IntelliJ IDEA で JUnit 5 を学習しようとしています。テスト クラスを作成し、1 つのメソッドをテストしようとしました。メッセージは次のとおりです (3 行目を参照)。

メソッドを解決できない理由がわかりません: コンパイルされ、間違いなく存在します:

そして、私はこれを定義しました:

更新: IntelliJ IDEA を終了して再起動すると、インポートされたシンボル「junit」を解決できないというメッセージと、さまざまな注釈「@beforeEach」、「afterEach」、「Test」が表示されます。

更新 2: テスト クラスで欠落しているセミコロンを見つけて修正しましたが、変更はありません。注: テストしていないクラスの一部にコンパイル エラーがありますが、テストの実行構成を「ビルド、エラー チェックなし」に設定しています。これは正しいですか?JUnit 4 を使用して (別のクラス名で) 同じテストを作成しようとしましたが、それも機能しません。

エラー メッセージの最初の数行を次に示します。

0 投票する
1 に答える
114 参照

junit5 - junit5 のタグに基づいてアサーションを作成する方法はありますか?

いくつかのカスタム注釈に基づいてテスト ポリシーを適用する JUnit 4 に基づくテスト システムがあります。特に、メソッドに注釈を付けて、テスト システムにタイムアウトとそれらのメソッドからのリソース アクセスを強制させることができます。

たとえば、@Medium のアノテーションが付けられたテストは 60 秒以内に完了する必要があり、ネットワークにアクセスできません。

カスタム アノテーションのないテストは「小規模」テストに分類され、10 秒以内に完了する必要があり、ネットワークやファイル システムにアクセスできません (たとえば、単体テストが実際に単体テストであることを確認します)。

また、テスト システムは、中規模のテストを試みる前に、すべての小規模なテストに合格することを保証します。大規模なテストなどを試みる前に、すべての中規模のテストに合格する必要があります。

これを JUnit 4 の上に実装するのはかなり簡単で、システムのいくつかの重要な部分をカスタマイズするだけで済みました。

これを JUnit 5 に移行することを検討していますが、これを行う良い方法があるかどうかを知りたいと思っていました。新しい発見とフィルタリングのメカニズムは、テストの順序付けを本当に簡素化しますが、ランナーを削除すると、テストのサイズ設定ポリシーを適用する方法がわかりません.

注: テスト システムの知識なしに記述されたテストには小さなテスト ポリシーが適用されていることを確認する必要があるため、テスト自体にポリシーを適用しても機能しません。

カスタム テスト エンジンを作成できると思いますが、それは少しやり過ぎかもしれません。

0 投票する
1 に答える
1514 参照

java - Maven を使用して Junit5 テストを実行できない

Mavenの実行

Maven プロジェクトの 1 つに使用しようとしていますが、フェーズjunit5中に単体テストを実行できません-test

私が得る出力は -


上記のソリューションを実装しようとしました @ Surefire は依存関係を更新するためにJunit 5 テストを取得していません-

プラグインを次のように更新します -

しかし、出力は同じままです。

質問- このカスタム プロバイダーはサポートされなくなりましたか、または を使用してテストを実行するための解決策はありmavenますjunit5junit5-api ?

- テストの実行は、JUnit-4 で正常に機能していました。

0 投票する
1 に答える
2125 参照

java - junitPlatform 使用時のシステム プロパティの設定

Gradle を使用して JUnit 5 テストを実行するときに、システム プロパティを設定する方法がわかりませんでした。標準testタスクは次のように構成できます。

ただし、junitPlatformタスクにはそのようなオプションがないようです。

0 投票する
2 に答える
2565 参照

java - LauncherDiscoveryRequest を介して提供されたクラスパスでテストを検出する

ユーザー ガイドに記載されているように、LauncherDiscoveryRequestの助けを借りて JUnit 5 テストを検出しようとしています。私が使用しているコードは次のようになります。

LauncherDiscoveryRequestBuilderこのコードを実行している JVM のクラスパスでのみテストを自動検出しますか? テストクラスを検索するルートディレクトリを提供するために、メソッドDiscoverySelectors.selectClasspathRootsとセレクターを使用してみました。DiscoverySelectors.selectClasspathResourceただし、テストを発見することはできませんでした。のパラメーターはselectClasspathRootsselectClasspathResourceパッケージごとに編成されたクラス ファイルを含むルート ディレクトリを指す必要がありますか?それとも、各テスト クラス ファイルへのフル パスを指定しますか?

/some/dirテストクラスファイルを含むルートディレクトリを表す次のことを試しました:

私は見ましLauncherDiscoveryRequestBuilderTests.javaたが、サンプルコードが機能しない理由を理解するのにあまり役に立ちませんでした. 問題を最もよく診断するにはどうすればよいですか?

次の依存関係を使用しています。

  • org.junit.platform:junit-platform-engine:1.0.0-M3
  • org.junit.platform:junit-platform-launcher:1.0.0-M3