在另一个对象中创建的模拟对象

米尔科

我正在尝试使用JUnit和Mocktio为类创建UnitTest。在此类中,从一个单例中有多次对方法的调用,例如

Singleton.getInstance().doSomething(value);

我知道价值的类型。(构造函数中没有参数,也没有任何用于处理单例​​引用的方法)是否可以模拟单例?我的第一个想法只是调用Mockito.mock(Singleton.class)并将其作为参数传递,但是随后我必须更改此类以接受单例作为参数-这对我来说没有意义。

(我同意这可能是设计缺陷,但是目前我无法重构该单例的用法)。

约翰·B

这里的问题是Mockito不允许模拟静态方法(getInstance)。但是JMockitPowermock两者都允许这样做。

使用Mockito的另一种方法可能取决于中的代码getInstance如果这是检查/返回字段,则可以使用反射将字段分配给模拟实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

PowerMockito模拟单个静态方法并在另一个静态方法中返回对象

访问在另一个类中创建的对象

尝试创建一个包含另一个类中的对象的类

使用伪对象从另一个对象数组创建一个对象数组

使用另一个函数创建对象

如何将模拟对象注入到另一个已经模拟的对象中

在另一个对象中创建复杂/嵌套JavaScript对象的正确方法

访问在另一个函数中创建的对象

导入另一个对象中包含的对象

根据另一个对象的值在对象中创建新属性

如何用另一个对象中的值创建对象?

如何从特定的另一个对象创建对象

在另一个列表中创建一个列表引用对象

如何在python中创建与另一个对象具有相同内容的对象?

在另一个对象中动态创建对象

从js中另一个对象的值创建新对象

如何从JavaScript中的另一个对象创建自定义对象

Javascript:在JavaScript中从另一个对象创建一个深度嵌套的对象

使用获取对象中的日期创建链接以获取React中的另一个对象

从另一个分层对象创建分层对象

在Rails中初始化另一个对象后创建相关对象

用另一个类创建新对象

访问在另一个类中创建的对象

检索另一个对象中的JSON对象

在java中创建一个通用对象并使用它来创建另一个通用对象

在另一个对象的构造函数中创建新的 ES6 对象失败

无法从另一个类创建类对象

基于Python中的另一个对象属性创建一个类的对象

如何在javascript中的对象数组中创建另一个对象数组中的对象数组