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

2022-09-02 14:09:45

协议缓冲区类被标记为,大概是为了提高效率;然而,这使得他们很难测试 - Mockito不能嘲笑/监视最终类。我尝试过使用,但没有成功:我在准备测试课程时得到了一个。finalPowerMockitoClassFormatErrorfinal

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


答案 1

JMockit 可以处理 和 .只需注意如何设置它,因为它需要-javaagent JVM参数,或类路径调整,或额外的注释才能模拟和填充。finalstaticfinalstatic


答案 2

JDave有一个与JMock ClassImposteriser集成的Unfinalizer

它无法取消定型从引导类装入器加载的类,并且在启动测试时需要 VM 参数。


推荐