【问题标题】:How to mock classes annotated with @ConstructorBinding annotation如何模拟使用@ConstructorBinding 注释的类
【发布时间】:2021-12-27 05:43:48
【问题描述】:

我有一个配置属性类,用@ConstructorBinding 注释以使其不可变。但是在运行测试用例时,这并没有被嘲笑。

@ConfigurationProperties
@ConstructorBinding
@lombok.Value
class PropertyConfig{
// some code
}

在运行测试类时,我收到以下错误:

org.mockito.exceptions.base.MockitoException: 
Cannot mock/spy class com.packagename.PropertyConfig
Mockito cannot mock/spy because :
 - final class
    at 

如何解决这个错误?

【问题讨论】:

标签: java spring-boot junit mockito final


【解决方案1】:

您的注释 @lombok.Value 暗示您的类是最终的,而 mockito 不直接支持这一点。

由于这是一个配置类,反正它可能不需要mock,你可以简单地通过正常调用构造函数来实例化它。

如果你真的因为某种原因需要模拟它,请看这个问题How to mock a final class with mockito,或者不要使用@Value

【讨论】:

    猜你喜欢
    • 2018-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多