繁体   English   中英

使用 Powermock 时出现 NoClassDefFoundError

[英]Getting NoClassDefFoundError when using Powermock

我正在尝试使用 powermock 和 easymock 来测试私有和 static 方法。 我已经从 GITHUB 下载了 jars 并在 build.gradle 中添加了它们的依赖项,但是当我运行测试用例时,我不断收到 NoClassDefFoundError 。

以下是 gradle 中的堆栈跟踪和依赖项:

java.lang.NoClassDefFoundError: org/powermock/reflect/spi/ProxyFramework
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
Caused by: java.lang.ClassNotFoundException: 
    org.powermock.reflect.spi.ProxyFramework
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)

testCompile group: 'org.powermock', name: 'powermock-core', version: '1.4.6'
testCompile group: 'org.powermock', name: 'powermock-module-junit4', version: '1.5.1'
testCompile group: 'org.easymock', name: 'easymock', version: '4.0.1'
testCompile group: 'cglib', name: 'cglib-nodep', version: '3.2.9'
testCompile group: 'org.hamcrest', name: 'hamcrest-core', version: '1.3'
testCompile group: 'junit', name: 'junit', version: '4.12'
testCompile group: 'org.objenesis', name: 'objenesis', version: '3.0.1'
testCompile group: 'org.powermock', name: 'powermock-api-easymock', version: '2.0.2'
compile group: 'org.javassist', name: 'javassist', version: '3.24.0-GA'

我“认为”您没有指定依赖项的 scope 。 我不知道如何在 Gradle 中做到这一点,但在 maven 中,我们将“范围”测试“范围”添加到依赖项声明中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM