无法解析符号PowerMockRunner



我第一次尝试使用Powermock

我使用build。Gradle和添加:

dependencies {
...
    testCompile 'org.mockito:mockito-all:1.9.5'
    testCompile 'org.powermock:powermock-api-mockito:1.5.5'
}

现在我看看我的测试类,它有:

import org.junit.Before;
import org.junit.runner.RunWith;
import org.mockito.Matchers;
import org.powermock.core.classloader.annotations.PrepareForTest;

@RunWith(PowerMockRunner.class)
@PrepareForTest(GeoUtils.class)

并得到这个错误:

@RunWith(PowerMockRunner.class)
             ^
cannot resolve symbol PowerMockRunner 

为什么它能解析PrepareForTest而不能解析PowerMockRunner ?

PowerMockRunner是powermock-module-junit4.jar的一部分。您需要显式导入这个jar

您可以根据您的需求指定此jar的依赖项。请参阅此链接。

需要按照以下步骤导入PowerMockRunner:

import org.powermock.modules.junit4.PowerMockRunner;

你只需要添加gradle依赖

testCompile "org.powermock:powermock-module-junit4:1.6.4"

或者如果你使用的是Android Studio版本3+

testImplementation "org.powermock:powermock-module-junit4:1.6.4"

我遇到这个错误是因为我只在我的pom.xml中添加了以下依赖项中的第一个。请确保将PowerMock的以下maven依赖项添加到您的pom.xml中。

<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.6.3</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.6.3</version>
</dependency>

我也遇到了类似的错误。虽然jar已经在类路径中,但是eclipse并不建议导入PowerMockRunner类。它给出错误"类无法解析为类型"。我必须手动添加导入"org.powermock.modules.junit4.PowerMockRunner"。

我刚才遇到了完全相同的问题,这两个依赖项都已经包含在pom.xml中。

对我来说,原来是Intellij缓存问题,无效缓存对我有效。

步骤如下:

IntelliJ→文件菜单->使缓存无效->

对于仪器测试,您必须使用androidtestimimplementation "org.powermock:powermock-module-junit4 . 1.6.4"

但后来我发现,你不能使用PowerMock与仪器测试:

如果你在设备上运行PowerMock,它将无法在Android上运行PowerMock使用JVM字节代码操作。如果你跑,它会起作用的

(链接到这个问题)

相关内容

  • 没有找到相关文章

最新更新