【问题标题】:GRAILS 2.4.4: how to run unit tests only, or how to fix the generated integration tests?GRAILS 2.4.4:如何只运行单元测试,或者如何修复生成的集成测试?
【发布时间】:2015-01-08 17:36:09
【问题描述】:

使用 grails 2.4,例如,当您创建控制器时,它会创建一个单元测试类,例如:

@TestFor(SessionService)
class SessionServiceSpec extends Specification {

    def setup() {
    }

    def cleanup() {
    }

    void "test something"() {
    }
}

所以你创建了 20 个控制器,并获得了 20 个测试类。

当您尝试运行 grails test-app 时,它会失败并出现以下错误:

java.lang.Exception: 
No tests found matching grails test target pattern filter from org.junit.runner.Request

它永远无法运行我们的集成测试。

因此,Grails 为您创建的测试并不是开箱即用的。

我们可以删除所有创建的测试规范类,但是如果我们想编写它们,我们有点希望它们准备好。

  1. 有没有一种方法可以运行我们的集成测试,而无需运行单元测试(已损坏)或:
  2. 有没有办法修复测试,以免它们摔倒?有人发布了添加有效的 when/then,但我们不知道该放什么,因为我们尝试过的仍然会产生相同的异常。

很遗憾 Grails 没有告诉你哪个测试或类抛出了这个异常。

【问题讨论】:

    标签: grails testing


    【解决方案1】:

    这对我来说似乎是一个奇怪的论点。创建控制器时,默认情况下会根据模板为其创建单元规格,该模板可根据您的需要轻松定制。

    grails install-templates

    为你做。现在回答您的问题:

    1. 是的,有一种方法只运行集成测试。

      grails test-app integration:

    2. 使用install-templates后修改src\templates\testing下的Controller.groovy模板为某事

    喜欢:

    @artifact.package@import grails.test.mixin.TestFor
    import spock.lang.Specification
    
    /**
     * See the API for {@link grails.test.mixin.web.ControllerUnitTestMixin} 
     * for usage instructions
     */
    @TestFor(@artifact.testclass@)
    class @artifact.name@ extends Specification {
    
        def setup() {
        }
    
        def cleanup() {
        }
    
        void "test something"() {
            expect: 
            1 == 1
        }
    }
    

    这不会在运行时使您的测试失败,但它会破坏

    的全部目的

    编写失败的测试 -> 修改代码 -> 修复测试方法

    TDD。我宁愿实现一个失败的测试,然后在控制器中编写最少的逻辑来通过测试。

    【讨论】:

    • "expect: 1 == 1" 和 "grails test-app integration:" 是我想要的,非常感谢!
    • 那就是install-templates
    • @BurtBeckwith 正确,谢谢。虽然grails install-template 作为命令应该也可以工作,我想。好吧,我认为grails iT 也可以:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 2013-07-13
    • 2017-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多