Unit testing 模拟扩展泛型基类的grails服务时发生IllegalArgumentException

Unit testing 模拟扩展泛型基类的grails服务时发生IllegalArgumentException,unit-testing,grails,grails-3.0,grails-3.0.10,Unit Testing,Grails,Grails 3.0,Grails 3.0.10,单元测试: class OtherServiceSpec extends Specification { def fooCacheService = Mock(FooCacheService) ... } 服务: class FooCacheService extends CacheService<String> { ... } 我无法解释为什么会发生这种情况。我刚刚注意到Mock()在模拟接口的实现时遇到问题 我通过模拟界面解决了这个问题。因此,在您的情

单元测试:

class OtherServiceSpec extends Specification {
    def fooCacheService = Mock(FooCacheService)
    ...
}
服务:

class FooCacheService extends CacheService<String> {
    ...
}

我无法解释为什么会发生这种情况。我刚刚注意到Mock()在模拟接口的实现时遇到问题

我通过模拟界面解决了这个问题。因此,在您的情况下,您应该使用以下命令构建模拟:

def cacheService = Mock(CacheService)
当然,这也意味着您还必须通过使用接口CacheService而不是foocheservice来实现所讨论的类(OtherService

希望这有帮助

干杯
奥利弗

我无法解释为什么会发生这种情况。我刚刚注意到Mock()在模拟接口的实现时遇到问题

我通过模拟界面解决了这个问题。因此,在您的情况下,您应该使用以下命令构建模拟:

def cacheService = Mock(CacheService)
当然,这也意味着您还必须通过使用接口CacheService而不是foocheservice来实现所讨论的类(OtherService

希望这有帮助

干杯 奥利弗

def cacheService = Mock(CacheService)