我正在阅读关于Grails 2的几本书,并且在他们的单元测试中都使用junit但是我注意到当我运行create-controller时,自动生成的单元测试是基于spock的。 是否有可能让脚本箱子junit测试?我注意到create-controller的唯一选项是控制器的名称。
答案 0 :(得分:0)
您可以通过生成模板来自定义所有生成的工件:
grails install-templates
然后,您将在以下位置找到用于为控制器生成测试的模板:
src/templates/testing/Controller.groovy
然后您可以删除所有其他文件,您不想采用(在src/templates
下)
如果您需要“旧”灵感,请查看source
如果您还希望在日期中对文件进行命名,则还必须重新构建createUnitTest
脚本。在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
,如果你计划使用这个很多(把你的模板放在你的〜中)。