本文介绍了jMockit:如何期望构造函数调用Mocked对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在对执行某些序列化操作的方法进行单元测试。我打算模拟序列化逻辑。代码如下:
ObjectInputStream ois = new ObjectInputStream(new BufferedInputStream(new FileInputStream(file)));
我创建了以下模拟对象:
@Mocked FileInputStream mockFIS;
@Mocked BufferedInputStream mockBIS;
@Mocked ObjectInputStream mockOIS;
我设置了 NonStrictExpectations()
块我希望上面的构造函数调用。
关于如何实现这一点的任何想法?
解决方案
您可以为给定的一组交互指定一组完整的期望。来自:
@Test
public void doSomethingHandlesSomeCheckedException() throws Exception
{
new Expectations() {
DependencyAbc abc;
{
new DependencyAbc(); // expect constructor
abc.intReturningMethod(); result = 3;
abc.stringReturningMethod();
returns("str1", "str2");
result = new SomeCheckedException();
}
};
new UnitUnderTest().doSomething();
}
这篇关于jMockit:如何期望构造函数调用Mocked对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!