1
我正在浏览一些关于Grails 2的书籍,它们在单元测试中都使用junit,但我注意到当我运行create-controller时,自动生成的单元测试基于spock。 是否有可能让脚本打包junit测试呢?我注意到create-controller的唯一选项是控制器的名称。grails创建控制器junit测试而不是spock
我正在浏览一些关于Grails 2的书籍,它们在单元测试中都使用junit,但我注意到当我运行create-controller时,自动生成的单元测试基于spock。 是否有可能让脚本打包junit测试呢?我注意到create-controller的唯一选项是控制器的名称。grails创建控制器junit测试而不是spock
您可以通过生成模板自定义所有生成的构件:
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
,您可以调整的,如果你打算使用这个很多(把你的模板放在〜EG)
我在阅读这本书并开始采用Spock的时候,他只会处理这种ha deal。它使得写作测试更多[Gg] roovy。 – cfrick 2015-03-02 20:11:01
我认为你可能是对的 - 尽管还有一件事要学习,但最好坚持使用Spock。但很多谢谢你的完整答案。 – John 2015-03-03 10:13:21