【问题标题】:Grails controller testing with multiple services mock使用多个服务模拟的 Grails 控制器测试
【发布时间】:2015-09-12 22:56:51
【问题描述】:

我正在向旧的 grails 项目 (grails 2.2.5) 添加一个测试套件。

我有一些控制器使用两个或多个服务,所以我需要在测试体中模拟它们,例如:

void testSave() {
    def myService1 = mockFor(MyService1)
    // ... mock setup
    def myService2 = mockFor(MyService2)
    // ... mock setup
    def myService3 = mockFor(MyService3)
    // ... mock setup
    // ... test code
}

void testUpdate() {
    def myService1 = mockFor(MyService1)
    // ... mock setup
    def myService2 = mockFor(MyService2)
    // ... mock setup
    def myService3 = mockFor(MyService3)
    // ... mock setup
    // ... test code
}

// ... other methods

由于我在所有控制器的测试中都需要此服务,我必须在每个测试方法中复制此代码,或者有更好的方法来执行此操作(无需重复代码)?

【问题讨论】:

    标签: unit-testing grails


    【解决方案1】:

    您可以创建服务变量类字段/属性,然后在setup()setupSpec() 方法中进行设置。看看here列出的fixture方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      • 2014-10-11
      • 2016-01-09
      • 1970-01-01
      • 2014-11-22
      • 2014-01-16
      • 1970-01-01
      相关资源
      最近更新 更多