在Grails 3中运行Grails功能测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Grails 3中运行Grails功能测试相关的知识,希望对你有一定的参考价值。

这似乎是Grails提供的一个非常基本的功能,但我无法开始工作。我正在尝试使用here提供的文档为我的应用程序添加一些API测试。

添加测试并运行grails test-app -integration后,我没有看到测试被执行。以下是该命令的输出。

➜  myProj git:(func-test) ✗ grails test-app -integration

> Configure project :
BUILD SUCCESSFUL in 0s
6 actionable tasks: 6 up-to-date
| Tests PASSED

我没有看到任何测试被执行。

以下是我期待失败的测试。

package myApp

import grails.test.mixin.integration.Integration
import grails.transaction.*

import spock.lang.*
import geb.spock.*

/**
 * See http://www.gebish.org/manual/current/ for more instructions
 */
@Integration
@Rollback
class UsersSpec extends GebSpec {

    def setup() {
    }

    def cleanup() {
    }

    void "visit homepage"() {
        when:"The home page is visited"
            go '/'

        then:"The title is correct"
            title == "Welcome to My Application"
    }
}

我还尝试使用以下命令直接运行测试类:

grails test-app myApp.UsersSpec
grails test-app -integration myApp.UsersSpec
grails test-app -functional
grails test-app -functional myApp.UsersSpec

但他们似乎都没有执行所需的测试。

答案

假设您的测试是在src/integration-test/groovy/下定义的,并且您在重新配置测试源文件夹方面没有做任何异常,那么您可以通过多种方式运行它们。我建议使用Gradle:

./gradlew integrationTest

(如果你在Windows上,请关闭./

以上是关于在Grails 3中运行Grails功能测试的主要内容,如果未能解决你的问题,请参考以下文章

Grails 2.3 迁移脚本不会在集成测试期间运行

在 grails 应用程序中在运行时修改 groovy 代码

Grails 2.3.5 在每次代码更改后都需要“grails clean”

在 Intellij Idea 中运行 grails 2.1.3 测试:Spock 测试中出现奇怪错误:无法添加域类 [class x.y.Z]。它不是域

您如何在 grails 2.3 中测试服务或控制器方法

如何在Grails 3.2中测试服务中事件的触发?