2015-03-02 24 views
1

我正在浏览一些关于Grails 2的书籍,它们在单元测试中都使用junit,但我注意到当我运行create-controller时,自动生成的单元测试基于spock。 是否有可能让脚本打包junit测试呢?我注意到create-controller的唯一选项是控制器的名称。grails创建控制器junit测试而不是spock

回答

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,您可以调整的,如果你打算使用这个很多(把你的模板放在〜EG)

+0

我在阅读这本书并开始采用Spock的时候,他只会处理这种ha deal。它使得写作测试更多[Gg] roovy。 – cfrick 2015-03-02 20:11:01

+0

我认为你可能是对的 - 尽管还有一件事要学习,但最好坚持使用Spock。但很多谢谢你的完整答案。 – John 2015-03-03 10:13:21