grails create-controller junit 测试而不是 spock
grails create-controller junit tests rather than spock
我正在浏览一些关于 Grails 2 的书籍,并且都在他们的单元测试中使用了 junit,但我注意到当我 运行 创建控制器时,自动生成的单元测试是基于 spock 的。
是否可以改为使用脚本箱 junit 测试?我注意到 create-controller 的唯一选项是控制器的名称。
您可以通过生成模板自定义所有生成的工件:
grails install-templates
然后您将在以下位置找到用于为控制器生成测试的模板:
src/templates/testing/Controller.groovy
然后您可以删除所有其他不想采用的文件(在 src/templates
下)
如果您需要 "old" 的灵感,请查看 source
如果你也想像以前那样命名文件,你还必须重建createUnitTest
脚本。 Create/Add 在您的 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'])
}
}
如您所见,有一个变量 templatePath
,您可以对其进行调整,如果您打算大量使用它(将您的模板放入您的 ~ 例如)
我正在浏览一些关于 Grails 2 的书籍,并且都在他们的单元测试中使用了 junit,但我注意到当我 运行 创建控制器时,自动生成的单元测试是基于 spock 的。 是否可以改为使用脚本箱 junit 测试?我注意到 create-controller 的唯一选项是控制器的名称。
您可以通过生成模板自定义所有生成的工件:
grails install-templates
然后您将在以下位置找到用于为控制器生成测试的模板:
src/templates/testing/Controller.groovy
然后您可以删除所有其他不想采用的文件(在 src/templates
下)
如果您需要 "old" 的灵感,请查看 source
如果你也想像以前那样命名文件,你还必须重建createUnitTest
脚本。 Create/Add 在您的 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'])
}
}
如您所见,有一个变量 templatePath
,您可以对其进行调整,如果您打算大量使用它(将您的模板放入您的 ~ 例如)