2012-02-13 12 views
5

単位テストと統合テストはまったく同じ命名規則で生成されるため、ドメインクラスFooをテストする場合は、両方のテストが名前FooTestsで生成され、同じパッケージ内にあります。単体テストか統合テストのどちらかを取るべきではないかと期待していますか?人々は統合テストをユニットテストとは別のパッケージに入れますか、名前を変更しますか?これを回避するにはどうすればいいですか?ユニットと統合テストのデフォルト名は同じ

btw私は、grails/scripts/_GrailsCreateArtifacts.groovyをハックして、異なる名前を生成するためにクラスをどのように生成するかを変更しました(接尾辞プロパティの値はすべて変更されています)。クラスが「統合」と呼ばれるフォルダにあるときに、名前に「統合」を意味するものを含める必要はありませんが、手動で名前を変更する必要はありません。

createIntegrationTest = { Map args = [:] -> 
    def superClass = args["superClass"] ?: "GroovyTestCase" 
    createArtifact(name: args["name"], suffix: "${args['suffix']}IntTests", 
     type: "Tests", path: "test/integration", superClass: superClass) 
} 
+0

あなたはユニットと統合テストを生成するために何をしているのか? –

+0

@ Jarred - 私は彼がcreate-unit-testコマンドとcreate-integration-testコマンドを使用していると思います。はい、同じパッケージに同じ名前のテストを作成します。私はあまりにも人々がこれを処理する方法を知らないが、私は手動で名前を変更します –

+0

@ Jarred:sudhirの推測は正しい、それは私がやっていることです。私は手動でFooIntTestsへの統合テストの名前を変更することになります。 –

答えて

4

私は彼らに異なる名前を与えることは正しい選択だと思います。

*IntTests 

または

*IntegrationTests 
関連する問題