Mockito mockStatic 无法解析符号

Posted

技术标签:

【中文标题】Mockito mockStatic 无法解析符号【英文标题】:Mockito mockStatic cannot resolve symbol 【发布时间】:2021-02-04 06:29:34 【问题描述】:

我正在使用 Spring Boot,在单元测试中,我试图模拟 Files.delete(myFile.toPath()) 方法。 为此,我正在尝试使用Mockito.mockStatic() 方法。但是当我尝试使用它时,我的 IDE(IntelliJ IDEA)告诉我这种方法不存在。 我读了这篇文章: https://asolntsev.github.io/en/2020/07/11/mockito-static-methods/ 但这对我没有帮助。

在我的 POM.xml 文件中有:

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-inline</artifactId>
            <version>3.5.15</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-junit-jupiter</artifactId>
            <version>3.5.15</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
            <version>2.2.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-test</artifactId>
            <scope>test</scope>
        </dependency>

注意我只放了测试相关的依赖,这不是我的整个 POM.xml 文件

在我的测试文件中,我输入了以下内容:

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.context.junit4.SpringRunner;

同样,这只是与测试相关的导入。

我的 IDE 显示的屏幕截图:

您知道为什么Mockito.mockStatic() 方法无法解析吗?

【问题讨论】:

【参考方案1】:

确保您的 pom 文件中有以下依赖项

        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>3.5.15</version>
            <scope>test</scope>
        </dependency>

【讨论】:

谢谢!有效 !这篇文章说用mockito-inline 替换mockito-core,我应该试着把两者都放。 是的,我得到了同样的东西。谢谢 非常感谢你救了你一命!

以上是关于Mockito mockStatic 无法解析符号的主要内容,如果未能解决你的问题,请参考以下文章

“无法解析方法”与 mockito

powermock

Powermock问题

单元测试(mock) 错误org.mockito.Mockito.framework()Lorg/mockito/MockitoFramework;解析

单元测试(mock) 错误org.mockito.Mockito.framework()Lorg/mockito/MockitoFramework;解析

UT常用注解