EasyMock:嘲笑新的操作可能吗?

时间:2011-07-07 11:52:20

标签: java mocking easymock

是否可以使用EasyMock做类似的事情:

class ClassName{
   void method(){
      TypeToMock a = new TypeToMock();
   }
}

我希望模拟TypeToMock而不将其作为值传递给类ClassName。可能吗?如果是这样的话?

1 个答案:

答案 0 :(得分:1)

不,我不认为这是可能的。

如果你想模拟一个依赖项,那么你必须将该依赖项注入到被测试的类中,或者通过构造函数,通过setter方法,或者直接注入你想要作为参数测试的方法。

如果你的类使用new创建它并且只执行一次,那么你应该使用最适合范围匹配的方法注入依赖项。

如果您的类使用new多次创建对象,那么您可以注入一个生成对象实例的工厂。然后你可以提供一个生成模拟实例的模拟工厂。