Модульные и интеграционные тесты получают одинаковые имена по умолчанию - PullRequest
5 голосов
/ 13 февраля 2012

В 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)
}

1 Ответ

4 голосов
/ 19 марта 2012

Я думаю, что дать им другое имя - правильный выбор.

*IntTests 

или

*IntegrationTests
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...