是否可以模拟Java协议缓冲区消息?

时间:2010-01-26 11:07:22

标签: java mocking protocol-buffers

协议缓冲区类标记为final,大概是为了提高效率;然而,这使得他们很难进行测试 - Mockito无法模拟/监视最终的类。我尝试使用PowerMockito但没有成功:在为测试准备ClassFormatError课程时,我得到final

到目前为止,我的解决方案是创建可模拟的适配器接口,但我希望这种方法不那么费力。

2 个答案:

答案 0 :(得分:2)

JMockit可以处理finalstatic。只需注意如何设置它,因为它需要-javaagent JVM参数,或类路径调整,或额外的注释,以便能够模拟finalstatic的东西。

答案 1 :(得分:1)

JDave有UnfinalizerJMock ClassImposteriser

集成

它不能取消从引导类加载器加载的类,并且在启动测试时需要VM参数。