Я просматриваю несколько книг по Grails 2, и все они используют junit в своих модульных тестах, но я заметил, что когда я запускаю create-controller, автоматически сгенерированные модульные тесты основаны на spock. Можно ли вместо этого использовать скрипт crate junit tests? Я заметил, что единственный вариант для create-controller - это имя контроллера.
grails создает-контроллер тесты junit, а не spock
Ответы (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
Я бы предпочел разобраться с этой суматохой, читая эту книгу, и начать усыновлять Спока. Это делает написание тестов намного более простым.
- person cfrick; 02.03.2015
Думаю, вы правы - лучше придерживаться Спока, хотя есть еще кое-что, чему нужно научиться. Но большое спасибо за полный ответ.
- person John; 03.03.2015