Java Mockito-创建模拟为Springbean
我有一个简单的用例,需要通过spring创建一个模拟对象。(我知道有更好的选择,比如Java Mockito-创建模拟为Springbean,java,spring,mockito,Java,Spring,Mockito,我有一个简单的用例,需要通过spring创建一个模拟对象。(我知道有更好的选择,比如@Mock) 我需要模拟的类是这样的:ClassToMock: public classToMock { public ClassToMock (String a, String b, int c) ... } //other methods omitted } 在我的春豆中,我有: <bean id="xyz" class="org.mockito.Mockito" factory-me
@Mock
)
我需要模拟的类是这样的:ClassToMock
:
public classToMock {
public ClassToMock (String a, String b, int c)
...
}
//other methods omitted
}
在我的春豆中,我有:
<bean id="xyz" class="org.mockito.Mockito" factory-method="mock">
<constructor-arg value="some val"/>
<constructor-arg value="some other val"/>
<constructor-arg type="int" value="2"/>
</bean>
我得到:
没有匹配的工厂方法founnd:factory方法'mock(String,String,int)'
有什么建议吗?我想你有些担心。
factory-method
属性是指返回要创建的实例的静态方法。此外,要么实例化一个
org.mockito.mockito
实例,要么实例化一个ClassToMock
实例。不能将一个(ClassToMock
class)的参数构造函数用于构造函数或另一个(Mockito
class)。此外,Mockito不能单独模拟构造函数。为什么需要模拟构造函数
如果您想为测试创建一个具有预定义值的类实例,可以在xml spring配置中声明它:
<bean id="xyz" class="ClassToMock" >
<constructor-arg index="0" value="some val"/>
<constructor-arg index="1" value="some other val"/>
<constructor-arg index="2" value="2"/>
</bean>
你是对的。我必须传入完全限定的类名,我需要将其模拟为构造函数arg。