grails创建控制器junit测试而不是spock

时间:2015-03-02 19:09:38

标签: grails junit spock

我正在阅读关于Grails 2的几本书,并且在他们的单元测试中都使用junit但是我注意到当我运行create-controller时,自动生成的单元测试是基于spock的。 是否有可能让脚本箱子junit测试?我注意到create-controller的唯一选项是控制器的名称。

1 个答案:

答案 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,如果你计划使用这个很多(把你的模板放在你的〜中)。