私のアプリには、の下にいくつかのGroovyクラスがありsrc/groovy
ます。関連するテストクラスはどこに行くべきですか、そしてそれらはGroovyTestCase
またはmixins(TestFor
)を使うべきですか?
2 に答える
クラスの単体テストまたは統合テストを選択できます。ドキュメントから、それらの違いを見ることができます:
単体テスト
単体テストは、「単体」レベルでのテストです。つまり、周囲のインフラストラクチャを考慮せずに、個々のメソッドまたはコード ブロックをテストしています。通常、単体テストは、データベース、ソケット接続、ファイルなどの I/O を伴う物理リソースが存在しない状態で実行されます。これは、迅速なフィードバックが重要であるため、可能な限り迅速に実行されるようにするためです。
統合テスト
統合テストは、テスト内で Grails 環境に完全にアクセスできるという点で単体テストとは異なります。
したがって、データベースにアクセスする必要がある場合、または完全な環境が必要な場合は、統合テストを行ってください。そうでない場合は、単体テストを作成します (これはメモリ内データベースを使用します)。
は@TestFor
単体テストで使用することを目的としています。これは基本的なものをモックするためです (「参考文献」を参照GrailsUnitTestMixin
)。統合テストを選択した場合は、アノテーションを使用しないでください。
に入れますtest/unit
。春のコンテキストまたは休止状態のセッションが必要な場合は、test/integration
. またはミックスインを使用できますGroovyTestCase
が、それらは完全にオプションです。テストは、次の規則に従うだけで済みます。
- クラス名は
Tests
またはで終わる必要がありますTest
test
テスト メソッドは、JUnit の@Test
アノテーションで始まるか、アノテーションが付けられている必要があります。