5

私のアプリには、の下にいくつかのGroovyクラスがありsrc/groovyます。関連するテストクラスはどこに行くべきですか、そしてそれらはGroovyTestCaseまたはmixins(TestFor)を使うべきですか?

4

2 に答える 2

4

クラスの単体テストまたは統合テストを選択できます。ドキュメントから、それらの違いを見ることができます:

単体テスト

単体テストは、「単体」レベルでのテストです。つまり、周囲のインフラストラクチャを考慮せずに、個々のメソッドまたはコード ブロックをテストしています。通常、単体テストは、データベース、ソケット接続、ファイルなどの I/O を伴う物理リソースが存在しない状態で実行されます。これは、迅速なフィードバックが重要であるため、可能な限り迅速に実行されるようにするためです。

統合テスト

統合テストは、テスト内で Grails 環境に完全にアクセスできるという点で単体テストとは異なります。

したがって、データベースにアクセスする必要がある場合、または完全な環境が必要な場合は、統合テストを行ってください。そうでない場合は、単体テストを作成します (これはメモリ内データベースを使用します)。

@TestFor単体テストで使用することを目的としています。これは基本的なものをモックするためです (「参考文献」を参照GrailsUnitTestMixin)。統合テストを選択した場合は、アノテーションを使用しないでください。

于 2012-11-29T18:24:43.070 に答える
1

に入れますtest/unit。春のコンテキストまたは休止状態のセッションが必要な場合は、test/integration. またはミックスインを使用できますGroovyTestCaseが、それらは完全にオプションです。テストは、次の規則に従うだけで済みます。

  • クラス名はTestsまたはで終わる必要がありますTest
  • testテスト メソッドは、JUnit の@Testアノテーションで始まるか、アノテーションが付けられている必要があります。
于 2012-11-29T18:15:21.003 に答える