2

在我当前的设置中,我想对具有依赖项的 Grails 服务进行单元测试,并为@autowired依赖项注入一个模拟。

class AcmeService {

    @Autowired
    FooService fooService // not a Grails service!
}

FooService 不是 Grails 服务,而是来自 FeignClient 的动态实现。我正在寻找一种在 UnitTest 中为 FooService 服务注入 Mock 的方法。这样做的最佳解决方案是什么?

我尝试在设置中设置依赖项,但随后我得到一个“通过字段 fooService 表示的不满足的依赖项”

class AcmeService extends Specification {

    FooService mockedFooService = Mock(FooService)

    def setup() {
        service.fooService = mockedFooService
    }
}
4

1 回答 1

2

您可以将以下内容添加到单元测试中:

def doWithSpring = {
    fooService( InstanceFactoryBean, Mock(FooService) )
}
于 2016-12-21T07:52:02.783 回答