测试时发下如下异常:
java.lang.SecurityException: class "org.junit.internal.runners.TestClass"'s signer information does not match signer information of other classes in the same package
at java.lang.ClassLoader.checkCerts(ClassLoader.java:807)
at java.lang.ClassLoader.preDefineClass(ClassLoader.java:488)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:626)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:63)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.<init>(PowerMockJUnit44RunnerDelegateImpl.java:68)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:144)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader(JUnit4TestSuiteChunkerImpl.java:39)
at org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators(AbstractTestSuiteChunkerImpl.java:217)
at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>(JUnit4TestSuiteChunkerImpl.java:59)
at org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>(AbstractCommonPowerMockRunner.java:32)
at org.powermock.modules.junit4.PowerMockRunner.<init>(PowerMockRunner.java:26)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.junit.internal.requests.ClassRequest.buildRunner(ClassRequest.java:33)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:28)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:28)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:24)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:40)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:30)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:445)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
刚开始没打开异常Failure Trace里面的详细内容,毫无头绪,最后打开后,发现时上面的异常,一看就很清楚,是在一个工程的引用包里出现了相同的junit包,使得类不能找到合适的来匹配,仔细检查jar后,删除多余的
运行-OK!
以后看异常要看详细点,最好可以F3到异常类里看,这样就懂在哪一步出现问题了!
分享到:
相关推荐
这个压缩包"powermock-easymock-junit-1.5.4.zip"很可能包含了这三个库的特定版本1.5.4,便于开发者下载和集成到自己的项目中。 首先,我们来详细了解一下PowerMock。PowerMock是一个扩展了其他模拟框架(如...
在"powermock-easymock-junit-1.6.1.zip"这个压缩包中,包含了这些工具的特定版本。 首先,我们来了解一下EasyMock。EasyMock是一个模拟框架,它允许开发者创建预期的交互(mock objects)并验证对象之间如何进行...
在 Java 单元测试领域,EasyMock 和 JUnit 是两个常用库,PowerMock 就是与它们结合使用的,提供了更全面的模拟功能。 在传统的单元测试中,我们通常会遵循“测试隔离”原则,即测试代码只关注被测试对象的行为,而...
在实际项目中,我们需要根据具体使用的Mocking框架(如Mockito、EasyMock等)和测试运行器(如JUnit、TestNG等)选择正确的PowerMock模块,并将其与其他依赖的jar文件一起添加到项目的类路径中。这样,我们就可以...
`powermock-easymock-junit-1.4`这个特定的jar包结合了PowerMock和EasyMock的功能,并与JUnit集成,为开发者提供了一套强大的单元测试工具。它允许你在JUnit测试中使用PowerMock的所有特性,比如模拟那些通常难以...
PowerMock 是一个强大的 Java 模拟框架,它扩展了诸如 EasyMock 和 Mockito 这样的单元测试库的功能。在 Java 开发中,有时我们可能需要模拟静态方法、构造函数、final 类和方法、私有方法以及删除静态初始化器等,...
除了EasyMock和JUnit,还需要PowerMock的核心库和相关的类加载器,如`powermock-api-easymock`、`powermock-module-junit4`等。 **PowerMock的扩展功能** - 模拟静态方法和类。 - 模拟final类和方法。 - 删除静态...
PowerMock是一个扩展了其他Mocking框架(如EasyMock和Mockito)的库,它允许开发者对静态方法、构造函数、final类和方法、私有方法以及删除静态初始化器进行模拟和mock。在传统测试框架中,这些通常是难以或无法测试...
例如,`powermock-junit3-0.6-source.zip`和`powermock-junit4-0.6-source.zip`包含了与这些版本的JUnit的源代码,便于开发者理解和自定义PowerMock的使用。 示例项目如`powermock-samples-0.6-source.zip`和`...
PowerMock 是一个强大的 Java 测试框架,它扩展了其他单元测试库(如 EasyMock 或 JUnit),允许开发者模拟静态方法、构造函数、删除 final 类和私有方法,甚至可以模拟静态和最终类的行为,这些都是传统单元测试...
当你在项目中引入Easymock3.1和PowerMock1.4.10的jar包时,通常也会需要引入JUnit的jar包,因为它们依赖于JUnit来运行测试。 使用Easymock3.1和PowerMock1.4.10,你可以: 1. 创建和配置模拟对象,控制它们的行为...
<artifactId>powermock-module-junit4 适当版本号 <scope>test <groupId>org.powermock <artifactId>powermock-api-easymock 适当版本号 <scope>test ``` 同时,还需要在测试类上使用`@RunWith...
PowerMock是一个扩展了其他模拟库(如EasyMock和Mockito)的Java单元测试框架,它能够模拟静态方法、构造器、final类和方法、删除静态初始化器等,从而实现对这些难以测试部分的模拟。 ### PowerMock环境配置 1. *...
PowerMock 是一个强大的Java单元测试框架的扩展,它允许开发者模拟静态方法、构造函数、final 类、enum 和私有方法,这些都是传统单元测试工具如JUnit和EasyMock无法处理的。这个压缩包“PowerMock.zip”可能包含...
PowerMock是一个扩展了其他mocking框架(如EasyMock和Mockito)的Java库,它允许开发者对不可mock的Java对象进行mock。在Java中,有些情况下的对象或方法由于其特性(如静态方法、final方法、私有方法、构造函数等)...
它通常与JUnit和EasyMock等测试框架结合使用,用于更高效的单元测试。 标题“PowerMock实战”意味着本书将深入介绍PowerMock的使用方法,帮助读者理解和掌握如何在实际开发中运用PowerMock提高代码测试的健壮性和...
PowerMock是一个Java库,它扩展了流行mocking框架(如EasyMock)的功能,使得mock对象的行为更加灵活。它主要用于单元测试,特别是在测试环境中需要模拟静态方法、私有方法、构造函数、final类和方法时。PowerMock...
下面将详细讨论JUnit测试、EasyMock和PowerMock等相关知识点。 1. JUnit测试:JUnit是Java编程语言的一个开源测试框架,主要用于编写单元测试。它提供了一组注解(如@Test、@Before、@After)来定义测试用例、设置...
PowerMock是一种基于现有单元测试框架如EasyMock和Mockito的扩展工具,通过利用自定义类加载器和字节码操纵技术,PowerMock能够突破传统单元测试工具的限制,提供对静态方法、构造方法、私有方法、final方法以及系统...