`
fanrey
  • 浏览: 254916 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用PowerMock导致的ClassCastException

    博客分类:
  • JAVA
 
阅读更多
使用PowerMock时遇到一些莫名其妙的问题,比如:
java.lang.ClassCastException: com.sun.org.apache.xerces.internal.parsers.SAXParser cannot be cast to org.xml.sax.XMLReader
事实上SAXParser实现了XMLReader接口,所以上面这个Exception说明他们被不同的classloader加载了,比如PowerMock的MockClassloader.
其他错,比如Logging相关的类被加载两次,也是同样的问题。
解决办法:
在test case类前面加下面的注解。
@PowerMockIgnore ({"org.apache.log4j.*", "org.apache.commons.logging.*", "org.xml.sax.*"})
分享到:
评论

相关推荐

    使用PowerMock来Mock静态函数

    1. PowerMock的使用可能会增加测试的复杂性,因为它涉及到字节码操作,可能导致测试执行速度变慢。 2. 尽量减少对静态方法的Mock,因为这可能掩盖真实代码中的问题。Mock静态方法应仅限于无法通过其他方式隔离的特殊...

    powermock

    在 Java 单元测试领域,EasyMock 和 JUnit 是两个常用库,PowerMock 就是与它们结合使用的,提供了更全面的模拟功能。 在传统的单元测试中,我们通常会遵循“测试隔离”原则,即测试代码只关注被测试对象的行为,而...

    powermock单元测试

    PowerMock 是一个强大的Java单元测试框架,它扩展了其他单元测试库如EasyMock,使得能够对静态方法、构造...然而,也需要注意,过度依赖PowerMock可能导致测试过于复杂,不易理解和维护,因此在使用时应权衡其必要性。

    powermock-mockito-junit-1.6.2.zip

    这个版本的PowerMock要求使用1.6或更高版本的Java Development Kit (JDK)。下面将详细解释这三个主要组件以及它们在单元测试中的作用。 1. PowerMock PowerMock是一个强大的扩展库,它允许开发者模拟静态方法、构造...

    PowerMock实战

    标题“PowerMock实战”意味着本书将深入介绍PowerMock的使用方法,帮助读者理解和掌握如何在实际开发中运用PowerMock提高代码测试的健壮性和完整性。描述中的“帮助初学者彻底了解PowerMock的使用”表明本书适合那些...

    powermock依赖jar文件.rar

    在实际应用中,要使用PowerMock,你需要在项目的构建配置中添加这些JAR依赖,然后在测试类上使用注解如`@RunWith(PowerMockRunner.class)`和`@PrepareForTest`来启用PowerMock的功能。接着,你可以使用Mockito的语法...

    单元测试中PowerMock常用方法.

    然而,需要注意的是,过度依赖模拟可能会导致测试质量下降,因此在使用PowerMock时应谨慎,并尽可能保持测试的简洁和可读性。在编写测试时,优先考虑使用标准的Mockito功能,只有在必要时才引入PowerMock的高级特性...

    汪文君powermock实战教学

    【PowerMock实战教学】是由汪文君主讲的一系列教程,专注于讲解如何使用PowerMock这一强大的Java单元测试框架。PowerMock是在easymock和mockito的基础上构建的,旨在提供更多的功能,解决传统mock框架无法处理的一些...

    PowerMock.zip

    这个压缩包“PowerMock.zip”可能包含PowerMock库的jar文件和其他相关资源,帮助开发者在他们的项目中集成和使用PowerMock。 PowerMock 的核心功能在于它的模拟能力。在单元测试中,我们通常希望隔离被测试代码,只...

    powermock maven respo

    PowerMock Maven Repository是一个重要的开发工具资源库,它主要服务于Java开发者,特别是那些使用PowerMock框架进行单元测试的人员。PowerMock是一个强大的库,允许开发者模拟静态方法、构造函数、删除final修饰、...

    powermock-mockito-demo:使用springboot的powermock-mockito-demo

    使用在springboot项目中使用powermock-mockito进行单元测试,演示mock static、private、whenNew、exception的测试。 注意 示例使用spring-boot 2.0.3.RELEASE 它间接引用 junit-4.12 mockito-core-2.15.0 但是官网...

    powermock-core-2.0.9-API文档-中英对照版.zip

    赠送jar包:powermock-core-2.0.9.jar; 赠送原API文档:powermock-core-2.0.9-javadoc.jar; 赠送源代码:powermock-core-2.0.9-sources.jar; 赠送Maven依赖信息文件:powermock-core-2.0.9.pom; 包含翻译后的API...

    PowerMock实战手册

    《PowerMock实战手册》是一本专注于使用PowerMock进行单元测试的指南,结合了Junit测试框架和Mockito库,为开发者提供了全面的测试解决方案。在实际的软件开发中,单元测试是确保代码质量的重要环节,它能帮助我们找...

    powermock源码 详细学习好帮手

    7. **测试最佳实践**:源码阅读还能帮助你理解如何在实践中有效地使用PowerMock,避免不必要的复杂性和潜在的问题,比如性能影响和过度模拟。 8. **异常处理和验证**:PowerMock提供了丰富的验证机制,确保模拟的...

    powermock-easymock-junit-1.5.4.zip

    PowerMock与EasyMock是Java单元测试领域中的两个重要库,它们与JUnit结合使用,能够帮助开发者在测试过程中模拟复杂的对象行为和系统环境。这个压缩包"powermock-easymock-junit-1.5.4.zip"很可能包含了这三个库的...

    powermock-module-junit4-2.0.9-API文档-中英对照版.zip

    赠送jar包:powermock-module-junit4-2.0.9.jar; 赠送原API文档:powermock-module-junit4-2.0.9-javadoc.jar; 赠送源代码:powermock-module-junit4-2.0.9-sources.jar; 赠送Maven依赖信息文件:powermock-...

    powerMock的测试样例集合

    总之,"powerMock的测试样例集合"是一个宝贵的资源,它涵盖了PowerMock的主要功能,并通过实践案例帮助你掌握如何在复杂的测试场景中使用这个强大的工具。无论你是初学者还是经验丰富的开发者,这个集合都能为你提供...

Global site tag (gtag.js) - Google Analytics