gpt4 book ai didi

unit-testing - 如何使用脚手架模板 Test.groovy 为 Controller 生成单元测试?

转载 作者:行者123 更新时间:2023-11-28 21:32:44 25 4
gpt4 key购买 nike

如果我使用命令“create-controller”生成 Controller ,Grails 会生成 Controller 和单元测试(使用模板/src/templates/scaffolding/Test.groovy)。

更改模板的一些位后,我现在想重新生成单元测试,但 Grails 不会生成它们。我试过:

  • "create-unit-test" 但这将使用模板/src/templates/testing/UnitTest.groovy和“create-integration-test” 将使用模板/src/templates/testing/Generic.groovy

那么如何使用 Test.groovy 模板为 Controller 生成单元测试呢?

最佳答案

在创建工件或使用脚手架时,Grails 使用模板来创建域类、 Controller 、 View 等。默认模板是 Grails 分发的一部分,用于开箱即用的行为,但可以根据项目的特定需求进行自定义。

将代码生成期间 Grails 使用的模板复制到您的项目目录:

$ grails install-templates

src/templates/
├── artifacts
│   ├── Tests.groovy
│   ├── ...
├── scaffolding
│   ├── Test.groovy
│   ├── ...
└── war
└── web.xml

artifacts 目录包含 create-* 命令使用的模板。
脚手架目录包含 generate-* 命令使用的模板。
war 目录包含用于生成部署描述符的 web.xml 模板。

所以你需要编辑:

  • src/templates/artifacts/Tests.groovy 文件,当执行 grails create-unit-testgrails create-integration-test 命令。

  • src/templates/scaffolding/Test.groovy 当执行 grails generate-allgrails
    生成 Controller
    命令。

在您的情况下,重新生成您的 Controller 测试并仅覆盖您的测试文件:

$ grails generate-controller com.arturoherrero.Post
| Generating controller for domain class com.arturoherrero.Post
> File /grails-app/controllers/com/arturoherrero/PostController.groovy already exists. Overwrite?[y,n,a] n
> File /test/unit/com/arturoherrero/PostControllerTests.groovy already exists. Overwrite?[y,n,a] y
| Finished generation for domain class com.arturoherrero.Post

关于unit-testing - 如何使用脚手架模板 Test.groovy 为 Controller 生成单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13345534/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com