[解決済み] JUnit 4 vs TestNG - 2013年~2014年最新情報 [終了しました。]
質問
JUnit 4とTestNGはかつて比較されたことがあります。この2つのテストフレームワークの長所と短所は何でしょうか?
どのように解決するのですか?
今日、TestNGとJUnit4を比較していたのですが、私のテストフレームワークの限られた経験で指摘できる主な利点は、TestNGはデータプロバイダの概念でパラメトリックテストを扱うよりエレガントな方法を持っているということです。
私が知る限り、JUnit4では、テストしたいパラメータのセットごとに個別のテストクラスを作成する必要があります。
@RunWith(Parameterized.class)
). TestNGでは、1つのテストクラスで複数のデータプロバイダを持つことができるので、1つのクラスに対するすべてのテストを1つのテストクラスで管理することができます。
今のところ、JUnit4に対するTestNGの利点として指摘できるのはこれだけです。
Intellij IDEAは、TestNGとJUnitのサポートを最初から含んでいます。しかし、EclipseはJUnitのみをサポートし、動作させるためにはTestNGプラグインをインストールする必要があります。
しかし、私がTestNGで遭遇したより厄介な問題は、テストクラスが
PowerMockTestCase
を拡張する必要があることです。どうやら、PowerMock を使用する際にテストフレームワークが知る必要のあるオブジェクトファクトリーを設定する方法があるようで、特別なメソッドを介して、もしくは
testng.xml
スイート定義を通じて、PowerMockを使用する際に知っておくべきオブジェクトファクトリーを設定する方法があるようですが、今のところ壊れているようです。私は、テストクラスがテストフレームワーククラスを拡張することが嫌いです、それはハッキングのように思えます。
PowerMockを使わなければもちろん問題ないのですが、全体的にJUnit4の方がサポートが充実している印象があります。
関連
-
[解決済み] JUnit 4のテストで、ある例外が投げられたことをどのように断言しますか?
-
[解決済み] なぜJUnitはassertNotEqualsメソッドを提供しないのですか?
-
[解決済み】System.out.println()のJUnitテスト)
-
[解決済み] テスト駆動開発のデメリット?[クローズド]
-
[解決済み] モックオブジェクトは何のためにあるのか?
-
[解決済み] モッキングフレームワークにおけるモッキングとスパイの比較
-
[解決済み] 既存のプロダクションプロジェクトにユニットテストをうまく追加することができますか?もしそうなら、どのように、そして、それは価値があるのでしょうか?
-
[解決済み] "エラー。Karma-Jasmineのユニットテストケースを書いているときに「No provider for router」というエラーが発生しました。
-
[解決済み] パニックが発生したことを確認するRustのユニットテストはどのように書けばよいですか?
-
[解決済み] ブラウザでextjsのコードをテストするための提案、できればseleniumで?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Moqでクラスをモックするとき、特定のメソッドだけをCallBaseする方法は?
-
[解決済み] モッキングとは?
-
[解決済み] モックオブジェクトは何のためにあるのか?
-
[解決済み] ユニットテストはゲッターとセッターのために書くべきですか?
-
[解決済み] 抽象クラスのテスト
-
[解決済み] 既存のプロダクションプロジェクトにユニットテストをうまく追加することができますか?もしそうなら、どのように、そして、それは価値があるのでしょうか?
-
[解決済み] GTestとCMakeを使った作業の始め方
-
[解決済み] ユニットテストとは、どのようなもので、どのように行うのですか?[重複あり]
-
[解決済み] Junit: 統合テストと単体テストの分割
-
[解決済み] Githubでテストの成功/失敗を表示するには?