Java Mockito-创建模拟为Springbean

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

我有一个简单的用例,需要通过spring创建一个模拟对象。(我知道有更好的选择,比如
@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。