問題タブ [junit]

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 投票する
12 に答える
40048 参照

java - JUnitとTestNG

仕事では、現在もJUnit3を使用してテストを実行しています。新しいテストを作成するためにJUnit4への切り替えを検討していますが、しばらくの間TestNGに注目しています。JUnit 4またはTestNGのいずれかで、どのような経験がありますか。また、非常に多くのテストでどちらがうまく機能するように思われますか?機能テストは幅広い側面をカバーしており、結果を得るにはさまざまな方法で作成する必要があるため、テストの作成に柔軟性を持たせることも重要です。

古いテストはうまく機能するため、書き直されることはありません。新しいテストで私が見たいのは、テストの記述方法の柔軟性、自然なアサーション、グループ化、および簡単に分散されたテストの実行です。

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

eclipse - Groovy + Eclipse + Junit4 のセットアップ方法は?

私は小さな webapp に取り組んでおり、Groovy を使用して自分のアプリの単体テストを作成したいと考えています。私のコーディングのほとんどは Eclipse で行われており、すべての単体テストを Eclipse 内のグラフィカル テスト ランナーで実行したいと思っています (緑色のバーが本当に気に入っています :))

残念ながら、試行錯誤を 4 時間続けましたが、まだ正しくセットアップできません。Eclipse Junit4 テスト ランナーを使用して、テスト用にアノテーションが付けられたメソッドで Groovy ファイルを実行しようとしまし@Testた しかし、それは不平を言い続けますNoClassDefFoundException

誰でも助けることができますか?

これは、simpleTest.groovy という名前の私の groovy ファイルの内容です。

誰でも助けることができますか?

0 投票する
58 に答える
1079708 参照

java - プライベート メソッド、フィールド、または内部クラスを持つクラスをテストするにはどうすればよいですか?

JUnit を使用して、内部プライベート メソッド、フィールド、またはネストされたクラスを持つクラスをテストするにはどうすればよいですか?

テストを実行できるようにするためだけにメソッドのアクセス修飾子を変更するのは良くないようです。

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

java - JUnit テストごとに異なるクラスローダーを使用していますか?

JUnit テストを作成したい Singleton/Factory オブジェクトがあります。Factory メソッドは、クラスパス上のプロパティ ファイル内のクラス名に基づいて、どの実装クラスをインスタンス化するかを決定します。プロパティ ファイルが見つからない場合、またはプロパティ ファイルに classname キーが含まれていない場合、クラスはデフォルトの実装クラスをインスタンス化します。

ファクトリはインスタンス化された後に使用するシングルトンの静的インスタンスを保持するため、ファクトリ メソッドで「フェイルオーバー」ロジックをテストできるようにするには、各テスト メソッドを異なるクラスローダーで実行する必要があります。

JUnit (または別の単体テスト パッケージ) でこれを行う方法はありますか?

編集:使用中のFactoryコードの一部を次に示します。

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

java - データベース コードの JUnit

私は単体テストを実装しようとしてきましたが、現在、次のことを行うコードがいくつかあります。

  1. 外部データベースのクエリ、フィード テーブルへの読み込み
  2. フィードとデータ テーブルのデルタであるビューをクエリし、フィード テーブルと一致するようにデータ テーブルを更新する

私の単体テスト戦略は次のとおりです。

自由に操作できるテスト データベースがあります。

  1. setUP() で、いくつかのデータをテスト用データベースにロードします
  2. テストデータベースをソースとして使用して、コードを実行します
  3. データテーブルを調べて、カウントと特定のレコードの存在/非存在をチェックします
  4. テストデータベースをクリアし、別のデータセットをロードします
  5. コードを再度実行する
  6. データテーブルを再度調べる

明らかに、特定のレコードを追加、削除、更新する必要があることがわかるように、ソースデータベースにロードするデータセットを設定しています。

これは少し面倒なようですが、もっと簡単な方法があるはずですか? 助言がありますか?

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

eclipse - 単体テスト サーブレット

Tomcat サーブレット コンテナーの下で多数のサーブレットを実行しています。テストコードと本番コードを分けたいので、テストフレームワークの利用を検討しました。JUnit は Eclipse にうまく統合されていますが、実行中の Tomcat サーバーを使用してサーブレットを実行することはできませんでした。Tomcat サーブレットのテストをサポートする単体テスト フレームワークを推奨していただけますか? Eclipse との統合は便利ですが、必須ではありません。

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

unit-testing - メソッド内のコードが emma でカバーされているのに、メソッド呼び出しがカバーされていないと表示されるのはなぜですか?

プライベート メソッドがストリームを閉じることを確認する単体テストを作成しています。

単体テストは methodB を呼び出し、変数 something は null です

単体テストはテストでクラスをモックしません

プライベート メソッドは、私が呼び出しているパブリック メソッド内にあります。

Eclipse で emma を (eclemma プラグイン経由で) 使用すると、メソッド内のコードがカバーされていなくても、メソッド呼び出しがカバーされていないと表示されます。

例えば

メソッド呼び出しが対象として強調表示されないのはなぜですか?

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

java - JUnitで実行する必要のあるGUI(NUnit guiと同様)

JUnitテストを実行するためにどのGUIを使用する必要がありますか?また、それをどのように正確に実行しますか?私のバックグラウンドはすべて.NETであるため、NUnitGUIを起動して単体テストを実行することに慣れています。ライトが緑色なら、私はきれいです。

ここで、Javaコードを作成する必要があり、JUnitを使用して同様の処理を実行したいと思います。JUnitのドキュメントは、テストの作成に必要な属性の追加についてはわかりやすく明確ですが、ランナーを起動してそれらのテストの結果を確認する方法にかなり依存しています。

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

java - How to default the source folder for new JUnit tests in Eclipse?

Most of our Eclipse projects have multiple source folders, for example:

  • src/main/java
  • src/test/java

When you right-click on a class and choose New JUnit Test, the default source folder for the new test is "src/main/java" (presumably the first source folder listed in the project properties).

Is there any way to change the default source folder for new JUnit tests, so that when I do the above action, the new test will be created in say the "src/test/java" folder by default?

0 投票する
11 に答える
104123 参照

java - jUnit4.xでのSuite実行フックの前後

jUnit 4.4を使用してテストを実行し、一連の統合テストのセットアップとティアダウンを実行しようとしています。分解は確実に実行する必要があります。TestNGで他の問題が発生しているので、jUnitに移植することを検討しています。テストを実行する前、およびすべてのテストが完了した後、どのフックを実行できますか?

注:ビルドにはMaven2を使用しています。Mavenのpre-post-integration-testフェーズを使用してみましたが、テストが失敗すると、Mavenが停止して実行されませんpost-integration-test。これは役に立ちません。