gpt4 book ai didi

unit-testing - 我可以从命令行为 Grails 项目运行单个单元测试吗?

转载 作者:行者123 更新时间:2023-12-03 07:56:08 25 4
gpt4 key购买 nike

我一直在通过键入 grails test-app :unit 来运行我的 Grails 单元测试,运行所有单元测试。有没有办法指定单个测试?

编辑:到目前为止,每个人基本上都在说同样的事情,但是当我这样做时,没有运行任何测试。还有什么想法吗?

结论:好的,我使用的是测试类的名称,而不是被测试类的名称。一旦我尝试 Foo而不是 FooTests它工作得很好。

最佳答案

您的设置可能有问题的可能性:

  • 您的命令顺序不正确。对我有用的是:
    grails test-app -unit Foo (我的测试类是 FooTests.groovy )
  • 您没有明确导入 grails.test.GrailsUnitTestCase .

    当我没有导入它时,我在识别我的测试时遇到了一些问题。当我在延长 GroovyTestCase ,事情似乎正常工作。

  • 工作示例

    这是一组对我有用的示例测试。也许您可以发现它们与您的测试之间的一些差异?

    注意:这些都是用 testing 运行的已安装插件

    测试/单元/FooTests.groovy
    import grails.test.GrailsUnitTestCase
    class FooTest extends GrailsUnitTestCase {
    void testFoo() {
    assert true
    }

    void testBar() {
    assert true
    }
    }

    测试/单元/BarTests.groovy
    import grails.test.GrailsUnitTestCase
    class BarTest extends GrailsUnitTestCase {
    void testFoo() {
    assert true
    }

    void testBar() {
    assert true
    }
    }

    测试/单元/我/pkg/BazTests.groovy
    package my.pkg

    import grails.test.GrailsUnitTestCase

    class BazTest extends GrailsUnitTestCase {
    void testFoo() {
    assert true
    }

    void testBar() {
    assert true
    }
    }

    命令:所有单元测试
    $ grails test-app -unit
    ...

    Starting unit test phase ...

    -------------------------------------------------------
    Running 6 unit tests...
    Running test my.pkg.BazTest...PASSED
    Running test FooTest...PASSED
    Running test BarTest...PASSED
    Tests Completed in 847ms ...
    -------------------------------------------------------
    Tests passed: 6
    Tests failed: 0
    -------------------------------------------------------

    ...
    Tests PASSED - view reports in target/test-reports

    命令:Foo 单元测试
    $ grails test-app -unit Foo
    ...

    Starting unit test phase ...

    -------------------------------------------------------
    Running 1 unit test...
    Running test FooTest...PASSED
    Tests Completed in 815ms ...
    -------------------------------------------------------
    Tests passed: 2
    Tests failed: 0
    -------------------------------------------------------

    ...
    Tests PASSED - view reports in target/test-reports

    命令:my.pkg.Baz 单元测试
    $ grails test-app -unit my.pkg.Baz
    ...

    Starting unit test phase ...

    -------------------------------------------------------
    Running 2 unit tests...
    Running test my.pkg.BazTest...PASSED
    Tests Completed in 842ms ...
    -------------------------------------------------------
    Tests passed: 2
    Tests failed: 0
    -------------------------------------------------------

    ...
    Tests PASSED - view reports in target/test-reports

    我在 Grails 1.2.3 和 Grails 1.3.4 中尝试过这些,它们的行为都一样。

    关于unit-testing - 我可以从命令行为 Grails 项目运行单个单元测试吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3680272/

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