問題タブ [junit4]

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 に答える
21864 参照

junit4 - Junit アノテーション

Java テストから GUI アプリケーションを 2 回起動したいと考えています。@annotationこの場合、どのように使用すればよいでしょうか。

もう一度起動するには、どの注釈を使用すればよいですか? @afterclass?

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

exception - JUnit テスト (Ant スクリプトから駆動) を取得して、失敗の原因となる例外のスタックをダンプするにはどうすればよいですか?

次のように、Ant スクリプトから JUnit テストを実行します。テストが失敗すると、失敗の原因となった例外のスタック ダンプが出力されると思いますが、そうではありません。捨てる裏技ってありますか?

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

unit-testing - 別のJUnitテストクラスからのJUnitテストクラスの実行

テストしているクラスが2つあります(ClassAとClassBと呼びましょう)。それぞれに独自のJUnitテストクラス(それぞれtestClassAとtestClassB)があります。

ClassAは正常に機能するためにClassBに依存しているため、testClassAを実行する前にClassBがテストに合格することを確認したいと思います(そうでない場合、testClassAの結果は無意味になります)。

これを行うための最良の方法は何ですか?この場合は割り当て用なので、可能であれば、指定された2つのテストクラスに保持する必要があります。

testClassBのテストがすべて合格しなかった場合、testClassAから例外をスローできますか/すべきですか?これには、testClassBを目に見えない形で実行し、その成功/失敗をGUIではなくtestClassAに報告する必要があります(JUnit経由)。

EclipseとJUnit4.8.1を使用しています

更新:これまでのところ、私が管理している最高のものは、以下に示すように、テストスイートを含む別のファイルです。ClassAがいくつかのテストに失敗した場合でも、ClassBテストを実行できるため、これはまだ私が求めているものではありません。

0 投票する
5 に答える
124137 参照

java - テストファイルを JUnit に取り込む簡単な方法

junit テスト クラスで String/InputStream/File/etc 型のオブジェクトとしてファイルへの参照を取得する簡単な方法を誰かが提案できますか? 明らかに、ファイル (この場合は xml) を巨大な文字列として貼り付けるか、ファイルとして読み込むことができますが、このような Junit 固有のショートカットはありますか?

0 投票する
7 に答える
72305 参照

java - spring - @ContextConfiguration が src/test/resources の設定ファイルをロードできない

次の抽象クラスを使用して、src/test/resources クラスパスに春の構成ファイルをロードしようとしました。

src/test/resources に applicationContext.xml ファイルがありますが、Spring で読み込めません。

ありがとうございました。

0 投票する
6 に答える
52739 参照

unit-testing - JUnit:統合テストと単体テストの分割

私はJunitテストの負荷を継承しましたが、これらのテスト(ほとんどが機能しないことを除く)は、実際の単体テストと統合テスト(外部システム、dbなどが必要)を組み合わせたものです。

そこで、実際にそれらを分離して、単体テストとその後の統合テストをすばやく実行できるようにする方法を考えています。

オプションは..

  1. それらを別々のディレクトリに分割します。

  2. Junit4(v3から)に移動し、クラスに注釈を付けてそれらを分離します。

  3. ファイルの命名規則を使用して、クラスが何であるか、つまりAdapterATestとAdapterAIntergrationTestを指定します。

3には、Eclipseに「選択したプロジェクト/パッケージまたはフォルダーですべてのテストを実行する」オプションがあるという問題があります。したがって、統合テストを実行するだけでは非常に困難になります。

2:開発者が単体テストクラスで統合テストを書き始める可能性があり、それが面倒になるリスクがあります。

1:最も近い解決策のように見えますが、私の腸はそこにもっと良い解決策があるに違いないと言います。

それが私の質問です。統合テストと適切な単体テストをどのように分解しますか?

0 投票する
0 に答える
1347 参照

java - Junit 4 カスタム テスト クラスの説明

@Parameterized アノテーションを使用して、さまざまなテスト ファイルに対してテスト クラスを何度も実行しています。

問題は、私の IDE/ビルド サーバーで、テストが"MapSimulationTest" 0-xとして表示されることです。

MapSimulationTestクラスの各インスタンスにカスタム名をJUnit 4に提供するメソッドを作成するにはどうすればよいですか? この場合、それはテストが実行されるファイル名になります。

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

unit-testing - JUnit4テストの実行-Javaプログラムから

Javaプログラム内でJUnit4テストを実行する方法を考えていました。基本的に-実行時のいくつかの条件に応じて、使用するテストランナーを決定する必要があります。Junit3を使用すると、TestCaseクラスのrunTestメソッドをオーバーライドできますが、JUnit4テストではTestCaseクラスが拡張されないため、オーバーライドするものがありません...実装する必要のあるメソッドがありますか...または他に...

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

java - 新しいJUnit4.8.1@Categoryはテストスイートをほとんど時代遅れにしますか?

与えられた質問「特定のカテゴリに属する​​すべてのテストを実行するにはどうすればよいですか?」答えは、次のアプローチがテスト組織にとってより良いでしょうか?

  1. すべてのテストを含むマスターテストスイートを定義します(例:ClasspathSuiteを使用)
  2. JUnitカテゴリの十分なセットを設計します(十分とは、テストのすべての望ましいコレクションが1つ以上のカテゴリによって識別可能であることを意味します)
  3. 各テストを関連するカテゴリで認定する
  4. マスターテストスイートと一連のカテゴリに基づいて、対象となるテストスイートを定義します

例:

  • 速度(低速、高速)、依存関係(モック、データベース、統合など)、機能(該当するカテゴリに入力)、ドメイン(該当するカテゴリに入力)などのカテゴリを特定します。
  • 各テストが関連するカテゴリのセットで適切に認定(タグ付け)されていることを要求します。
  • ClasspathSuiteを使用してマスターテストスイートを作成する(クラスパスにあるすべてのテスト)
  • マスターテストスイートをカテゴリで修飾して、ターゲットスイートを作成します。たとえば、モックテストスイート、高速データベーステストスイート、ドメインXテストスイートの低速統合などです。

私の質問は、そのようなアプローチと従来のテストスイートアプローチの承認率を求めるようなものです。比類のない利点の1つは、すべての新しいテストが、スイートのメンテナンスなしで、関連するスイートにすぐに含まれることです。1つの懸念は、各テストの適切な分類です。

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

java - 相互に依存している @Rule の順序を処理する方法

Junit テスト ケース内で実行される組み込みサーバーを使用しています。これらのサーバーには、作業ディレクトリが必要な場合があります (Apache ディレクトリ サーバーなど)。

Junit 4.7 の新しい @Rule は、これらのケースを処理できます。TemporaryFolder-Rule は、一時ディレクトリを作成できます。サーバー用にカスタムの ExternalResource-Rule を作成できます。しかし、あるルールの結果を別のルールに渡したい場合は、どうすればよいですか。

このコードでは、サーバーがデータを格納する作業ディレクトリを作成できるように、フォルダーがパラメーターとしてサーバーに送信されます。ただし、Junit はファイルで定義されているルールとは逆の順序でルールを処理するため、これは機能しません。TemporaryFolder ルールは、サーバー ルールの前には実行されません。したがって、TempraryFolder のルート フォルダーは null になり、その結果、現在の作業ディレクトリを基準にしてファイルが作成されます。

クラスの属性の順序を逆にすると、変数を定義する前に参照できないため、コンパイル エラーが発生します。

Junit 4.8.1 を使用しています (ルールの順序が 4.7 リリースから少し修正されたため)