无法在 IntelliJ Idea 中解析 @org.unit.Test

Posted

技术标签:

【中文标题】无法在 IntelliJ Idea 中解析 @org.unit.Test【英文标题】:Cannot resolve @org.unit.Test in IntelliJ Idea 【发布时间】:2021-12-29 16:02:19 【问题描述】:

这就是 pom.xml 包含的内容:

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
        <scope>test</scope>
    </dependency>

这是实际的测试代码:

import org.junit.Assert.*; // Cannot resolve symbol 'Assert'

public class CalculatorTest 

    @org.junit.Test // Cannot resolve symbol 'Test'
    public void add() 
        Assert.assertEquals(5.0, 5.0, 0.01); // Cannot resolve symbol 'Assert'
    

Building Project 只是说它不能对符号“断言”进行微调。 我试过 Alt+Enter -> Add 'JUnit4' to classpath 但它只会使 pop.xml 中的依赖加倍。

【问题讨论】:

你试过File-&gt;Invalidate Caches然后选中除Ask before downloading...Invalidate and Restart之外的所有框? 项目是否从命令行构建? mvn clean package。项目导入是否完成且没有错误?您是否在 Project 视图的 External Libraries 节点中看到 JUnit 库?您的源文件是否位于src/test/java 而不是src/main/java @ritratt 成功了!我不知道如何标记正确答案,但谢谢! 【参考方案1】:

试试这个(它似乎按照 OP 的评论工作):

    File-&gt;Invalidate Caches 选中除Ask before downloading... 之外的所有框 Invalidate and Restart

【讨论】:

在这种情况下,使缓存失效真的很奇怪,因为它通常在编辑器显示错误而代码构建时没有错误的情况下有所帮助。 OP 说构建也失败了,这通常表明依赖项、源布局或其他一些 Maven 导入特定错误存在问题,并且这些问题无法通过使缓存无效来解决。

以上是关于无法在 IntelliJ Idea 中解析 @org.unit.Test的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA 无法使用 Play 框架解析符号

如何解决 IntelliJ IDEA 中的“无法解析符号”? [复制]

IntelliJ IDEA 无法解析静态导入

Intellij IDEA 设置:无法解析符号 println

IntelliJ IDEA 无法解析导入 javax.servlet.*;

Intellij IDEA 无法解析 React Native 导入