我正在努力让powermockito使用我的应用程序.我已将库添加到构建路径中.我有以下测试类:
package client.controller;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.powermockrunner;
@RunWith(powermockrunner.class)
@PrepareForTest(System.class)
public class SampleTest
{
@Test
public void test()
{
}
}
当我尝试运行测试时,我得到以下异常:
java.lang.NoClassDefFoundError: org/junit/internal/runners/TestClassRunner
at java.lang.classLoader.defineClass1(Native Method)
at java.lang.classLoader.defineClassCond(ClassLoader.java:631)
at java.lang.classLoader.defineClass(ClassLoader.java:615)
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:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.classLoader.loadClass(ClassLoader.java:247)
at org.powermock.modules.junit4.legacy.powermockrunner.powermockrunner.java:24)
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.builders.AnnotatedBuilder.buildrunner(AnnotatedBuilder.java:31)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.java.lang.classNotFoundException: org.junit.internal.runners.TestClassRunner
at java.net.urlclassloader$1.run(urlclassloader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.urlclassloader.findClass(urlclassloader.java:190)
at java.lang.classLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.classLoader.loadClass(ClassLoader.java:247)
... 31 more
根据PowerMock FAQ,我应该尝试使用旧版程序包.我做了,我仍然得到同样的例外.有任何想法吗?
最佳答案
看起来我正在错误地将PowerMock添加到构建中.当我查看Eclipse中的问题视图时,我发现了以下内容:
Archive for required library: 'lib/powermock-mockito-junit-1.4.11 4/powermock-release-junit-without-mock-framework-1.4.11.pom' in project 'Test' cannot be read or is not a valid ZIP file Test Build path Build Path Problem
Archive for required library: 'lib/powermock-mockito-junit-1.4.11 4/powermock-release-without-test-and-mock-framework-1.4.11.pom' in project 'Test' cannot be read or is not a valid ZIP file Test Build path Build Path Problem
原文地址:https://www.jb51.cc/java/438030.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。