【问题标题】:gradle test does not run Geb testsgradle test 不运行 Geb 测试
【发布时间】:2016-03-30 20:54:12
【问题描述】:

在 Grails 3.1.4 中:如果我使用 Grails create-functional-test 命令并创建 Geb 测试,当我使用 Gradle 测试任务时它不会运行 Geb 测试,它只会运行单元测试和集成测试,不是功能性的。

如果我使用 Grails test-app 命令,它会运行一切。我想在我的 Bamboo 5.9.7 集成服务器上使用 Gradle 进行构建。

如何使用 Gradle 运行所有测试、单元、集成和功能 Geb 测试?

【问题讨论】:

    标签: grails gradle bamboo geb grails-3.1


    【解决方案1】:

    test 任务应该只运行单元测试。您可能想简称为integrationTestiT

    【讨论】:

    • integrationTest 不是 gradle 任务。这应该是传递给测试任务的参数吗?
    • @DAC "integrationTest 不是 gradle 任务。" - 是的。它定义在github.com/grails/grails-core/blob/…
    • github.com/jeffbrown/testfordac 克隆项目并运行./gradlew integrationTest./gradlew iT
    • 哦,明白了!运行 gradlew integrationTest 有效!对不起,我试过 gradle integrationTest 没有用。惊人的。非常感谢。
    • integrationTest 也适用于gradle,而不仅仅是gradlew
    【解决方案2】:

    为了让 grails3 gradle 测试模仿 grails test-app 在 grails2 中的工作方式,您可以尝试使用

    gradlew --continue test iT
    

    这将导致单元测试和集成测试都运行。如果没有 --continue 选项,如果单元测试失败,集成测试将不会执行。

    不幸的是,从 intellij 运行时,我看不到如何将“--continue”选项添加到 gradle 命令。

    【讨论】:

    • "这将导致单元测试和集成测试都运行。" - gradlew check 还将运行集成和单元测试。
    • 如果单元测试失败,check 将不会运行集成测试(即使给出了 --continue 选项)。我猜是因为check 只是一项任务。
    • 没错。这是设计使然。如果您不希望测试失败阻止后续任务(包括integrationTest)运行,则必须将其表达给 Gradle。
    • 您可以将test.ignoreFailures设置为true
    • 我希望我每 4 年不止一次使用 gradle,这样我就可以学习所有这些东西。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 2014-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多