個別のClassLoaderを使用して各JUnitテストを実行します(実際にはありません)

EngineerBetter_DJ:

JUnit ClassLoaderで、実行するテストクラスごとに個別使用するにはどうすればよいですか?

TestRunner多くの静的変数を設定するライブラリのJUnit 書いています。私は基本的に、これらすべてが何であるかを知る必要なく、各テストクラス間でこれらすべてをリセットしたいと考えています。ライブラリが内部的に変更されるといつでもTestRunner壊れしまうので、私フレームワークの親密な知識に結び付けられたくありません

先に進む前に、私が本当にこれをしたいのを絶対に明らかにたいと思います。

  • ライブラリを制御できません。
  • 静的変数を使用しないという選択肢はありません。
  • ライブラリで何が行われているのか知りたくないので、リフレクションやPowermockを使いたくありません
  • テストユーティリティはビルドツールに関連付けられているため、テストプロセスをフォークするためにMaven設定を使用したくありません。

StackOverflowで見つけることができる他のすべての答えは、「それをしないでください」とだけ言っていますが、これは役に立ちません。「静的変数は馬鹿げている」と答えた最初の人がドーナツを獲得します。

EngineerBetter_DJ:

結局、別のスタックオーバーフローの回答に基づいて大まかに自分で作成しました(私にはうまくいきませんでした)。

現在、GitHubとMaven Centralにあります。https://github.com/BinaryTweed/quarantining-test-runner

<dependency>
    <groupId>com.binarytweed</groupId>
    <artifactId>quarantining-test-runner</artifactId>
    <version>0.0.1</version>
</dependency>

これを使用するには、それに応じてテストクラスに注釈を付けます。

@RunWith(QuarantiningRunner.class)
@Quarantine({"com.binarytweed"})
public class MyIsolatedTest {
...

テストクラス自体を別のClassLoaderロードする必要があるため、リンクされた回答は機能しませんでした。参照するすべてのクラスが同じローダーを使用するためです。JUnit @Testアノテーションをparentによってロードする必要があるため、隔離は(排他的ではなく)包括的ですClassLoader。それ以外の場合、JUnitはClass<Test>ルックアップマップのキーとして使用するため、テスト可能なメソッドを見つけることができません

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Eclipseの個別のJVMで各JUnitテストを実行していますか?

分類Dev

mysqlプリペアドステートメントを使用してstmtを実行する際に繰り返し変数はありません

分類Dev

IntelliJは、JUnitの代わりにMavenを使用してユニットテストを実行します

分類Dev

簡単なAndroid JUnitテストを実行しようとしています。取得:「テストの実行に失敗しました:テスト結果がありません」何が欠けていますか?

分類Dev

Mavenでは、さまざまなjunitテストクラスに対して個別の構成をどのように実行しますか

分類Dev

各キュウリテストを個別に実行します

分類Dev

各キュウリテストを個別に実行します

分類Dev

JUnit 5は、テストを実行するための実際の環境構成を探しています

分類Dev

テストは個別に実行すると合格しますが、テストクラス全体を実行すると合格しません

分類Dev

Akka Clusterを使用して、分散システムの各ホストで個別のアクターシステムを実行していますか?

分類Dev

2つの連続したテストを実行できません(必要ですが呼び出されません実際には、このモックとの相互作用はありませんでした)

分類Dev

go fmtの実行中に各コミットを個別に実行しているときに、Gitのブランチをリベースするツールはありますか?

分類Dev

Else 句に移動するステートメントの数を追跡し、別のプロンプトを実行するために表示された各 Else に実行値を割り当てる方法はありますか?

分類Dev

別のIFステートメントに囲まれたvb.netIFステートメントは常にtrueを返し、条件がfalseを指している場合でも「false」コードを実行することはありません。

分類Dev

TestNGで複数のスレッドを使用してテストメソッドを実行する場合の問題はほとんどありません

分類Dev

MavenはJUnit5テストを実行しません

分類Dev

JUnitケースケースを実行できません。「実際には、このモックとの相互作用はありませんでした」というエラーがスローされます。

分類Dev

ユニットテストメソッドは、テストの実行時にモックオブジェクトを使用しません。代わりに、実際のクラスとメソッドを呼び出します

分類Dev

mockitoテストは、junitテストとして実行したときにそのようなメソッドエラーを発生させませんが、実行設定でjarを手動で追加すると、うまく実行されます

分類Dev

JUnitテストを実行しているRedisに接続できません

分類Dev

junit5-テストを並行して実行します(pomにforkCountを使用せずに)

分類Dev

Mockito verify(...)が失敗します-「実際、このモックとの相互作用はありませんでした。」複数のテストを連続して実行する

分類Dev

JUnit5テストを並行して実行する方法はありますか?

分類Dev

複数の非同期単体テストメソッドを実行するとエラーが発生しますが、個別に実行してもエラーは発生しません

分類Dev

Gradleのを使用してカテゴリ別JUnitテストを実行するには?

分類Dev

JenkinsでXcodeUITestingを実行しても、テストが失敗することはありません

分類Dev

Chef powershell_scriptは合格しますが、実際にはスクリプトを実行しません

分類Dev

「mvncleaninstall」はテストを実行しますが、「mvncleansite」は実行しません

分類Dev

ios-simから単体テストを起動しても、すべてのテストが実行されるわけではありません

Related 関連記事

  1. 1

    Eclipseの個別のJVMで各JUnitテストを実行していますか?

  2. 2

    mysqlプリペアドステートメントを使用してstmtを実行する際に繰り返し変数はありません

  3. 3

    IntelliJは、JUnitの代わりにMavenを使用してユニットテストを実行します

  4. 4

    簡単なAndroid JUnitテストを実行しようとしています。取得:「テストの実行に失敗しました:テスト結果がありません」何が欠けていますか?

  5. 5

    Mavenでは、さまざまなjunitテストクラスに対して個別の構成をどのように実行しますか

  6. 6

    各キュウリテストを個別に実行します

  7. 7

    各キュウリテストを個別に実行します

  8. 8

    JUnit 5は、テストを実行するための実際の環境構成を探しています

  9. 9

    テストは個別に実行すると合格しますが、テストクラス全体を実行すると合格しません

  10. 10

    Akka Clusterを使用して、分散システムの各ホストで個別のアクターシステムを実行していますか?

  11. 11

    2つの連続したテストを実行できません(必要ですが呼び出されません実際には、このモックとの相互作用はありませんでした)

  12. 12

    go fmtの実行中に各コミットを個別に実行しているときに、Gitのブランチをリベースするツールはありますか?

  13. 13

    Else 句に移動するステートメントの数を追跡し、別のプロンプトを実行するために表示された各 Else に実行値を割り当てる方法はありますか?

  14. 14

    別のIFステートメントに囲まれたvb.netIFステートメントは常にtrueを返し、条件がfalseを指している場合でも「false」コードを実行することはありません。

  15. 15

    TestNGで複数のスレッドを使用してテストメソッドを実行する場合の問題はほとんどありません

  16. 16

    MavenはJUnit5テストを実行しません

  17. 17

    JUnitケースケースを実行できません。「実際には、このモックとの相互作用はありませんでした」というエラーがスローされます。

  18. 18

    ユニットテストメソッドは、テストの実行時にモックオブジェクトを使用しません。代わりに、実際のクラスとメソッドを呼び出します

  19. 19

    mockitoテストは、junitテストとして実行したときにそのようなメソッドエラーを発生させませんが、実行設定でjarを手動で追加すると、うまく実行されます

  20. 20

    JUnitテストを実行しているRedisに接続できません

  21. 21

    junit5-テストを並行して実行します(pomにforkCountを使用せずに)

  22. 22

    Mockito verify(...)が失敗します-「実際、このモックとの相互作用はありませんでした。」複数のテストを連続して実行する

  23. 23

    JUnit5テストを並行して実行する方法はありますか?

  24. 24

    複数の非同期単体テストメソッドを実行するとエラーが発生しますが、個別に実行してもエラーは発生しません

  25. 25

    Gradleのを使用してカテゴリ別JUnitテストを実行するには?

  26. 26

    JenkinsでXcodeUITestingを実行しても、テストが失敗することはありません

  27. 27

    Chef powershell_scriptは合格しますが、実際にはスクリプトを実行しません

  28. 28

    「mvncleaninstall」はテストを実行しますが、「mvncleansite」は実行しません

  29. 29

    ios-simから単体テストを起動しても、すべてのテストが実行されるわけではありません

ホットタグ

アーカイブ