运行测试类时出现错误,警告: TestEngine with ID ‘junit-vintage‘ failed to discover tests,找不到数据库,测试类前面出现红色叹号。

这次同时出现了两个问题,问题的场景是出现在启动测试类方法时出现的两个问题,第一个问题是版本问题,导致测试类无法被识别,并且测试类和测试方法前面出现红色叹号。解决方法是更改POM文件的对应内容导包即可;第二个问题是数据库不存在或者数据库的名称写错了,看数据库的名称是否正确,改过来就好了;

问题的详细描述和解决方法在下面,我自己感觉写的还算详细,对于刚开始学习的学弟们应该会有帮助,如果有解释不对的地方希望可以加我微信进行交流,我的quanminkj。

【开发工具IDEA】

【第一个问题提示】

六月 10, 2023 6:59:09 下午 org.junit.platform.launcher.core.DefaultLauncher handleThrowable
警告: TestEngine with ID 'junit-vintage' failed to discover tests
java.lang.NoClassDefFoundError: org/junit/platform/engine/support/filter/ExclusionReasonConsumingFilter
    at org.junit.vintage.engine.discovery.VintageDiscoverer.createTestClassPredicate(VintageDiscoverer.java:83)
    at org.junit.vintage.engine.discovery.VintageDiscoverer.collectTestClasses(VintageDiscoverer.java:61)
    at org.junit.vintage.engine.discovery.VintageDiscoverer.discover(V

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这个错误消息表明 JUnit 平台在尝试发现单元测试时遇到了问题,具体原因可能是 JUnit Jupiter 测试引擎(idjunit-jupiter)出现了故障。建议检查项目中 JUnit 的版本是否与测试代码兼容,或者检查是否有其他配置问题导致测试无法执行。 ### 回答2: 这个错误信息通常出现在使用JUnit5测试框架时,表示在执行测试时无法发现测试用例。这可能有以下几个原因: 1. 缺少JUnit5依赖库:在使用JUnit5测试框架时,需要在项目中添加JUnit5的依赖库。如果没有正确添加,则可能出现无法发现测试用例的错误信息。 2. 测试测试方法没有正确注释:在JUnit5中,测试测试方法的注释方式与JUnit4不同。需要使用@org.junit.jupiter.api注释来标注测试测试方法。如果没有正确注释,则JUnit5无法发现测试用例。 3. 测试测试方法的访问修饰符不正确:在JUnit5中,测试测试方法必须是public访问修饰符。如果使用其他访问修饰符,则JUnit5无法发现测试用例。 4. 测试测试方法的命名不正确:在JUnit5中,测试必须以Test结尾,测试方法必须以test开头。如果没有正确命名,则JUnit5无法发现测试用例。 5. 测试测试方法的参数不正确:在JUnit5中,测试方法可以带有参数。如果使用参数,必须使用@org.junit.jupiter.params注释。如果参数不正确,则JUnit5无法发现测试用例。 如果以上问题均已排除,仍然出现错误信息,则可能是由于测试框架本身出现异常导致。此时,可以尝试升级JUnit5版本或者切换到JUnit4。同时,也可以在测试启动时打开日志输出,查看具体的错误原因。 ### 回答3: 首先,这个错误信息来自于JUnit测试框架,它通常表示在运行测试时,JUnit无法自动发现测试测试方法,或者测试或方法的语法有问题,因此无法运行测试出现这个错误可能有几个原因。以下是一些可能的原因和解决方法: 1. 依赖库问题 JUnit测试框架的异常可能是由于缺少JUnit依赖库或版本不匹配等问题引起的。如果使用Maven或Gradle来处理依赖关系,可以检查pom或build.gradle文件中的JUnit依赖是否正确。或者,也可以手动下载并添加JUnit库文件。 2. 测试方法语法问题 如果JUnit无法发现测试方法,则有可能是测试方法的语法错误,例如命名不正确,或者没有正确地使用@Test注释。使用JUnit时,必须按照一定的规则来命名测试方法,例如以test开头,并按照一定的命名规则来组织测试套件。 3. 测试或方法被标记为私有或静态的 如果JUnit测试测试方法被标记为非 public 或 private 修饰符,则可能导致JUnit无法测试方法,这种情况下需要更改修饰符为 public。 4. 测试方法或路径错误 如果测试不存在于正确的路径下,或测试方法不在该中,那么JUnit可能无法到它们。可以检查代码中的路径是否正确,并确保测试方法和名正确。 5. 其他问题 最后,如果上述所有选项都不起作用,则有可能是由于其他未知原因引起的。可以尝试重新启动IDE或重新编译并运行代码。如果仍然无法解决问题,则可以查看JUnit的日志信息或报告以获得更多详细信息。 总之,解决JUnit测试框架的测试发现异常需要仔细检查代码以出可能的问题,并尝试使用不同的方法进行调试或修复。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值