2011-01-25 2 views
2

私が言って記事を読んGrailsは焼き-でテスト

テストのサポート焼きイン:テストは Grailsの中の優先順位とファーストクラスの市民 です。 Grailsはテストを促進します。 は、低レベル単体テストから 上位レベルの機能テストまで、テストを容易にするユーティリティを提供しています( )。 では、Grailsは特定のテストフレームワーク と結婚していません。あなたは、ならCanooなど任意のテスト フレームワーク 利用のJUnit、スポック、EasyB、ゲブ、 セレンは(Grailsのテスト インフラと テストフレームワークをフックプラグインを書き込むことによって) のGrailsで動作させることができることができます。

他のJava EEフレームワークと同じようにGrailsをテストできますか? GrailsがjUnitと統合しているようなものですか?それともGrailsのテストに関して特別なことがありますか?

EDIT:

それはどのようにのSeamT​​estと比べてどうですか?

答えて

5

Grailsは、すでにユニットテストと統合テストのためのフォルダが含まれているフォルダ構造を使ってテストをサポートしており、そのコマンドはテストライティングに役立ちます。たとえば、ドメインクラスまたはコントローラを作成すると、自動的にテストスタブが作成されます。また、すべてのテストを実行するコマンド、ユニット/統合テストのみを実行するテスト、または個別のテストを実行するコマンドがあります。これらはテストフォルダに自動的にレポートを作成します。

また、テストをサポートする多くのプラグインがあります.HtmlUnitを使用して実際のリクエストをテストする優れた機能テストプラグインがあります。セレンのプラグインもあります。

Grailsの私の経験はとても肯定的で、フレームワークとして強くお勧めします。

こちらがお役に立てば幸いです。

+0

そのようなMaven?私は非常にテスト可能なフレームワークを望んでいれば私はGrailsを選択させるあなたのポスト(犯罪なし)で驚くべきことは何も見ません。少なくとも私はSeamT​​estのようなものを余計に期待していました。 – IAdapter

+2

心配する必要はありません。私は実際にはgrailsとmavenの間に多くの類似点があると感じています。テスト容易性の点では追加のスタブがありますが、Mavenにも簡単に追加できます。 grailsの本当の強みは、テスト容易性ではなく、Groovyの簡潔な力、動的言語サポート(Groovy経由でも)、そしてRailsのような足場と一般的なアプローチであると言います。 –

4

Matthewが指摘したように、テストインフラストラクチャはすべてセットアップされています。ディレクトリレイアウトが定義され、テストはgrailsスクリプトを通して実行できます。

全体として、grailsとSeamT​​estのテスト環境はそれほど違いはありません。彼らは両方ともユニット・テストのデータベースとスタック全体を持つ統合テストを持っています。違いは、Java対Groovyの性質の大部分です。

SeamT​​estがTestNG上にレイヤーを提供するのと同じように、grailsにも同様のサポートを提供するJUnit上のレイヤーがあります。 grails.test.GrailsUnitTestCasegroovy.util.GroovyTestCaseは、どのように比較するのがよいか分かります。

私の意見では、grailsが本当に際立っているのは、そのモックのサポートにあります。 Groovyを使用して、非常に柔軟なモックを提供します。特に、擬似バージョンを使ってクラスやオブジェクトに直接メソッドを動的にオーバーライドすることができるので、モッククラスを作成する必要はありません。このフレームワークは、ORMレイヤ全体を模倣するためのショートカットを提供します。これにより、データベースのオーバーヘッドなしに、より高いレベルのコンポーネントを簡単にテストできます。

具体的な例については、manual's chapter on testingをご覧ください。

関連する問題