4

JUnitTestNGの比較をいくつか読みましたが、TestNG にはより多くの構成オプションがあるようです。一方、JUnit は IDE や構築ツールでより多くサポートされており、より多くのプラグインがあります。

単体テストを書いた経験はありません。どのツールを優先する必要がありますか?

PS私の質問はもっと似ていると思います:TestNGを試してみるべきですか、それとも他のみんなと同じようにJUnitに固執するべきですか?

PS 私たちは Web アプリケーションを開発しているので、後で機能テストに Selenium を使用することも考慮して選択する必要があると思います。

4

7 に答える 7

8

TestNG was written to overcome some perceived limitations of JUnit 3. Check out Cedric's blog post or other articles on the TestNG site to see his thinking.

Note that some of the limitations of JUnit 3 were by design and TestNG deliberately allows you to do things that the designers of JUnit expressly prevented.

The biggest advantage TestNG had over JUnit 3 was that it allowed you to use annotations to define your tests, rather than forcing you to extend the JUnit base classes. JUnit 4 can also use annotations in the same way now, narrowing the gap.

The biggest remaining difference between TestNG and JUnit is that TestNG allows your tests to be dependent on one another, and allows you to express those dependencies through the test annotations. JUnit instead forces all your tests to be independent of one another.

There are other differences too, of course – TestNG defaults to assertEquals(actual, expected, message) whereas JUnit is assertEquals(message, expected, actual) – but this is the biggest.

I'd say: pick one, and try it out. Write some tests. Both work fine with Selenium. Both work fine with ant. Both work fine with CruiseControl or Hudson. Learning to write good unit tests is far more important than learning a particular set of commands (they are pretty similar anyway).

TestNG has more power and fewer restrictions, IMO, but that gives you more opportunities to get things wrong too, of course.

于 2010-09-22T11:25:56.117 に答える
3

初めての場合は、JUnit をお勧めします。

それは最初の、最も人気のあるものでした。これは十分に文書化されており、優れたツール サポートを備えており、(少なくとも最初は) すべての異なる言語に翻訳されているメタファーです (xUnit の実装を参照)。ほとんどのプロジェクトで問題なく動作するはずであり、知っておくと便利なツールです。これは、プログラマーとしてのあなたにとって良いベースラインになります。

「オルタナティブ」には他にも特徴があります。それがオルタナティブが存在する理由です。しかし、多くの場合、何よりもスタイルの問題です。TestNG にはいくつかの異なる機能があるかもしれませんが、JUnit は注釈、代替マッチャーなどの機能も進化しています。

はい、JUnit は、時が来れば Selenium で問題なく動作します。

于 2010-09-22T07:54:48.990 に答える
0

TestNgとUnitilsの組み合わせは無敵です..それはあなたのすべての要件で十分でしょう..

于 2010-09-22T07:30:47.870 に答える
0

私はいつも「他のみんなと同じように」に投票します。なぜなら、多くの情報があるため、ほとんどの場合、このエクスペリエンスはより価値があり、特にjUnitの場合、多くの言語に移植されているため、このエクスペリエンスは「クロス」になります。プラットホーム'。

于 2010-09-22T07:32:37.183 に答える
0

Junit が最も人気があり、プラグインをサポートしているため、使用することをお勧めします

于 2010-09-22T08:41:49.780 に答える
0

私は JavaEE 開発者として働いています。ビジネス ロジック モジュールのテストに JUnit を多用しています。JUnit は非常に強力で柔軟性があり、品質の証明として公式リリース ドキュメントで彼の HTML レポートを使用しています。

于 2010-09-22T09:33:21.780 に答える
0

JUnit と TestNG はどちらも非常によく似ており、どちらかを知っていれば、もう一方も簡単に理解できます。

私が TestNG を使用する主な理由は、テスト グループとテストの依存関係のためです。テストをさまざまなグループに割り当ててから、グループ内のすべてのテストを簡単に実行したり、グループから特定のテストを除外したりできます。たとえば、いくつかのテストを分離したい場合は、それらをテスト グループ「fahd」に追加して、このグループのみを実行するだけです。テストの依存関係を使用すると、依存するテストが失敗したときにテストをスキップできます。これらの機能はそれほど重要ではないと思うかもしれませんが、一度使用すると、これらの機能なしでどうやって生活していたのか不思議に思うでしょう。

于 2010-09-22T08:49:26.853 に答える