В Grails модульные тесты и интеграционные тесты генерируются с точно таким же соглашением об именах, поэтому, если вы тестируете класс домена с именем Foo
, оба теста генерируются с именем FooTests
в одном пакете.Есть ли ожидание, что у меня должен быть либо юнит-тест, либо интеграционный тест, но не оба?Люди помещают свои интеграционные тесты в пакет, отличный от своих модульных, или переименовывают?Какой предпочтительный способ обойти это?
Кстати, я взломал 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)
}