【发布时间】:2015-03-02 19:09:38
【问题描述】:
我正在阅读一些关于 Grails 2 的书籍,并且都在他们的单元测试中使用了 junit,但我注意到当我运行 create-controller 时,自动生成的单元测试是基于 spock 的。 是否可以让脚本箱 junit 测试代替?我注意到 create-controller 的唯一选项是控制器的名称。
【问题讨论】:
我正在阅读一些关于 Grails 2 的书籍,并且都在他们的单元测试中使用了 junit,但我注意到当我运行 create-controller 时,自动生成的单元测试是基于 spock 的。 是否可以让脚本箱 junit 测试代替?我注意到 create-controller 的唯一选项是控制器的名称。
【问题讨论】:
您可以通过生成模板来自定义所有生成的工件:
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,如果你打算大量使用它,你可以调整它(把你的模板放在你的 ~ 例如)
【讨论】: