【问题标题】:Using multiple mockFor() in grails 2.2.3 unit test在 grails 2.2.3 单元测试中使用多个 mockFor()
【发布时间】:2023-03-28 15:07:02
【问题描述】:

我想为我的控制器编写一个单元测试,它在其中使用多个服务。 如何将多个 mockFor() 用于服务? Tnx。

【问题讨论】:

  • 您是专门询问如何使用多个mockFor,还是更笼统地询问如何创建多个模拟?
  • @JeffScottBrown 感谢您的回复,我的问题是当我的控制器在其中使用多个服务时如何使用多个 mockFor()。
  • “我的问题是当我的控制器在其中使用多个服务时如何使用多个 mockFor()。” - 接受的答案不使用任何mockFor

标签: unit-testing grails grails-2.2


【解决方案1】:

例如使用 spock 进行测试:

class ExampleControllerUnitSpec extends Specification {
    def anyService
    def anotherService


    def setup() {
        anyService = Mock(AnyService)
        controller.anyService = anyService

        anotherService = Mock(AnotherService)
        controller.anotherService = anotherService
    }

    def "test"(){
        when:
            controller.action()
        then:
            1 * anyService.doSomething() >> "result"
            3 * anotherService.doSomethingElse() >> "result2"
    }
}

【讨论】:

    猜你喜欢
    • 2010-11-15
    • 2018-10-29
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多