spring+hibernate Web アプリケーションに使用するテスト フレームワークを考えています。最初は Unitils を見つけてかなり興味を持ちましたが、標準の Spring TestContext フレームワークを見て、疑問を持ち始めました。私は主題にかなり慣れていませんが、これまでのところ私の理解は次のとおりです。
ユニティルの長所:
- EasyMock や DbUnit など、他のさまざまなテスト フレームワークが混在しています。
- フレームワークの上に構築され、休止状態マッピング テストやリフレクション テスト ユーティリティなどの付加価値を提供します。
Spring TestContext フレームワークの長所:
- テスト時に標準のSpringアノテーションを使用できます
- おそらくより大きなユーザーベースとより良いサポートを持っています(Unitilsは基本的に2人によって作成されているように見えるため、これは私の仮定です)
- また、いくつかの Unitils 機能が組み込まれています (リフレクション テスト ユーティリティなど)。
- DbUnit や EasyMock などの Unitils の「より大きな」機能が必要な場合は、通常の DbUnit または EasyMock をソースから直接入手できます。これにより、Unitils がリリースするのを待たずに、常に最新バージョンの DbUnit/EasyMock を使用できます。現在の DbUnit/EasyMock を使用した新しいバージョン
したがって、今のところ、Spring TestContext フレームワークの使用に傾倒しています。これらのフレームワークについてもう少し経験があり、正しい方向に傾くのを手伝ってくれる人はいますか? これらすべてのフレームワークの統合を除いて、Unitils は実際にそれ自体で何を提供しますか?
[編集] Unitils が提供するいくつかの機能について知りました。
- @DataSet アノテーションのような DbUnit のいくつかの改善 (Spring TestContext フレームワークでは、ここで説明されているように、DbUnit で使用する場合は、独自にもう少しコードを記述する必要があるようです: http://blog.zenika.com/index .php?post/2010/02/04/Testing-SQL-queries-with-Spring-and-DbUnit%2C-part-1 )
- テストでデータベースの制約を無効にする機能
Unitils を使い始めるきっかけとなった Unitils に関する素晴らしいプレゼンテーションを次に示し ます。
当分の間、質問を開いたままにします。おそらく誰かが他の考えを思い付くでしょう...