Java Maven项目中使用JUnit5的assertEquals报错:org.junit.jupiter.api.AssertEquals非公共无法外部访问的问题咨询
解决JUnit 5中assertEquals方法的访问错误问题
嘿,我一眼就看出问题所在啦——你肯定是把断言类的名字写错了!
问题根源
JUnit 5里根本没有org.junit.jupiter.api.AssertEquals这个公共可用的类,这个类是包私有的,所以你没法从外部访问它。真正提供assertEquals断言方法的是org.junit.jupiter.api.Assertions类,所有JUnit 5的断言静态方法都集中在这里。
具体修复步骤
修正导入语句
把错误的导入代码删掉,换成下面两种方式之一:- 静态导入(推荐,这样可以直接写
assertEquals):import static org.junit.jupiter.api.Assertions.assertEquals; - 导入整个Assertions类:
调用的时候写成import org.junit.jupiter.api.Assertions;Assertions.assertEquals(expected, actual);
- 静态导入(推荐,这样可以直接写
修正测试代码中的调用
检查你的XTest.java里的断言代码,确保你调用的是Assertions类的assertEquals方法,而不是误写的AssertEquals(注意是复数的Assertions,不是单数的AssertEquals)。
关于你的pom.xml
你的Maven配置是完全没问题的:用了JUnit BOM统一管理版本,也引入了junit-jupiter依赖,这个依赖已经包含了所有JUnit 5测试需要的类,所以不需要调整依赖配置。
之前你做的mvn clean和清除IDEA缓存的操作其实没解决核心问题,因为问题出在代码的类名写错了,不是依赖或缓存的问题~
内容的提问来源于stack exchange,提问作者daniel
相关产品推荐
相关产品推荐

