grails создает-контроллер тесты junit, а не spock

Я просматриваю несколько книг по Grails 2, и все они используют junit в своих модульных тестах, но я заметил, что когда я запускаю create-controller, автоматически сгенерированные модульные тесты основаны на spock. Можно ли вместо этого использовать скрипт crate junit tests? Я заметил, что единственный вариант для create-controller - это имя контроллера.


person John    schedule 02.03.2015    source источник


Ответы (1)


Вы можете настроить все сгенерированные артефакты, сгенерировав шаблоны:

grails install-templates

Затем вы найдете шаблон, используемый для создания теста для контроллера:

src/templates/testing/Controller.groovy

Затем вы можете удалить все остальные файлы, которые не хотите принимать (то есть под src/templates)

Если вам нужно вдохновение для «старых», посмотрите источник

Если вы также хотите иметь имена файлов, как в те времена, вам также необходимо восстановить _ 4_ скрипт. Создайте / добавьте в свой scripts/_Events.groovy файл:

eventDefaultStart = {
    createUnitTest = { Map args = [:] ->
        def superClass = args["superClass"] ?: "GrailsUnitTestCase"
        createArtifact(
        name: args["name"],
        suffix: "${args['suffix']}Tests",
        type: args.testType ?: args['suffix'],
        path: "test/unit",
        superClass: superClass,
        templatePath:"templates/testing",
        skipPackagePrompt: args['skipPackagePrompt'])
    }
}

Как видите, есть переменная var templatePath, которую вы можете настроить, если планируете использовать ее много (например, поместите свои шаблоны в свой ~).

person cfrick    schedule 02.03.2015
comment
Я бы предпочел разобраться с этой суматохой, читая эту книгу, и начать усыновлять Спока. Это делает написание тестов намного более простым. - person cfrick; 02.03.2015
comment
Думаю, вы правы - лучше придерживаться Спока, хотя есть еще кое-что, чему нужно научиться. Но большое спасибо за полный ответ. - person John; 03.03.2015