我有一些奇怪的代码,这样与抑制子方法和构造
B param = ...;
D main(){
return A.method(param, C.class, new String[]{"abc"}, new SomeClass()).get();
}
其中
public static A method(...)
public D get()
我怎么能嘲笑方法的main(),以抑制子方法调用需要在单元测试的建议和抑制构建对象?
我需要的get()
我有一些奇怪的代码,这样与抑制子方法和构造
B param = ...;
D main(){
return A.method(param, C.class, new String[]{"abc"}, new SomeClass()).get();
}
其中
public static A method(...)
public D get()
我怎么能嘲笑方法的main(),以抑制子方法调用需要在单元测试的建议和抑制构建对象?
我需要的get()
除了模拟结果,你可以使用Powermock嘲笑构造函数调用,从而以新的呼叫将实际创建模拟对象。
这里是powermock对模拟构造教程,mockitto
http://code.google.com/p/powermock/wiki/MockitoUsage13
在您的测试,你将能够说:
SomeClass myMock = mock(SomeClass.class);
whenNew(SomeClass.class).withNoArguments().thenReturn(myMock)
据我所知,Java不允许以“内联”方法调用。你当然可以自己修改代码。但是编译器不能使用编译器指令自动重写代码。 –