gpt4 book ai didi

java - 不能在 Spock 测试中使用 Mockito spy 类?

转载 作者:行者123 更新时间:2023-11-29 05:04:28 28 4
gpt4 key购买 nike

我正试图在 Spock 测试中侦测一个 Java 类。我以前在 Spock/Groovy 中使用 Mockito 时没有遇到过问题。

当我尝试执行以下操作时:

def service = spy(Service.class)

我收到以下错误:

org.mockito.exceptions.base.MockitoException: 
Cannot mock/spy class java.lang.Class
Mockito cannot mock/spy following:
- final classes
- anonymous classes
- primitive types

不过,当我执行 mock(Service.class) 时,它工作正常。

我已确认该类不是最终类、匿名类或原始类。

有什么想法吗?我在类 (ak) 中有一个随机生成器,所以我需要监视而不是模拟。

谢谢

最佳答案

Mockito 不监视类(或模拟),它监视(常规)对象。因此,而不是

def service = spy(Service.class)

你必须写

def service = spy(new Service())

(或适合您的场景的构造函数)。

关于java - 不能在 Spock 测试中使用 Mockito spy 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30875238/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com