为单元测试生成第三方库的存根类

时间:2011-01-27 16:05:52

标签: java unit-testing mocking stub

我正在尝试对SWT库的扩展进行单元测试。我无法弄清楚如何有效地模拟和删除我正在扩展的类来设计我的小部件。

到目前为止,我所考虑的最佳解决方案是在我的测试源中重新定义SWT类,以便将它们加载到实际SWT库的顶部。然后,我有能力使存根方法做我需要的任何事情。

我现在对这个方法唯一的问题是像Control.java这样的类文件超过8K行,我想要存根每个方法,所以我没有有效的方法来删除试图访问底层的代码操作系统的GUI API我不想通过这些代码行。

肯定有一些我做得非常糟糕的事情,请帮忙!

1 个答案:

答案 0 :(得分:1)

你使用任何模拟框架吗?

我建议你尝试使用easymock进行部分模拟(你只需要替换一个对象中的单个方法或方法)。还有用于测试静态/最终方法的PowerMock和用于某些真正硬核测试的JMo​​ckit。

我希望我回答你的问题。