0
class SomeClass{

    @SomeAnnotation
    public void someMethod(){

    }
}

这是一个我正在使用 Mockito 模拟(准确地说是 syping)的类,并将其传递给我的代码的一部分,该代码会扫描该类的实例以获取某些注释,例如@SomeAnnotation

someMethod但是,当我尝试使用作为依赖项传递给被测类的间谍实例查找注释时,我无法找到注释。

我知道 Mockito 替换代理背后的真实实例的原因,所以我找不到它。但是有解决方案吗?

4

1 回答 1

0

不幸的是不可能。Mockito 的家伙正在使用 CGLIB 作为字节码引擎,他们使用它的方式不允许对方法(或任何相关的东西)进行注释注入,所以不幸的是,你想要做的事情对 Mockito 是不可能的。我认为他们的跟踪器中有几个关于相关事物的错误/增强功能。

为了克服这个问题-也许您可以创建自己的,而不是使用 Mockito 的间谍?就像创建一个扩展您现在正在监视的类的类并以某种方式覆盖会导致测试出现问题的东西?如果没有看到课程本身,很难给我更具体的建议。

于 2013-10-19T17:12:59.083 回答