关于JUnit的报错java.lang.Exception: No tests found matching

本文探讨了一种在使用JUnit进行Mybatis测试时遇到的奇特问题:当测试方法带有参数时,会触发异常,导致测试无法运行。文章详细描述了错误信息及可能的原因。

这个问题也许是你的Junit版本冲突,但我却遇见个更奇葩的问题

  1. 首先是报错代码,我是纯mybatis,没有整合
java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=findUserById], {ExactMatcher:fDisplayName=findUserById(com.ityh.Test.Myatis_test)], {LeadingIdentifierMatcher:fClassName=com.ityh.Test.Myatis_test,fLeadingIdentifier=findUserById]] from org.junit.internal.requests.ClassRequest@1f17ae12
	at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:37)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:77)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:68)
	at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:43)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:444)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

  1. 这是我的mybatis测试代码,看见后也许有人已经知道为什么了
    在这里插入图片描述
  2. 对,问题就是参数,我的测试代码的方法带了一个参数
    So,这就是我的奇葩问题
此错误 `java.lang.Exception: No tests found matching Method textmains(w5.day3.Note2Test)` 表明JUnit未能找到匹配的测试方法。以下是一些可能的解决方法: ### 1. 检查方法命名与注解 JUnit通常依赖特定的命名约定或注解来识别测试方法。若使用JUnit 4,测试方法需用 `@Test` 注解;若使用JUnit 5,同样要使用 `@Test` 注解。 确保 `textmains` 方法被正确注解: ```java import org.junit.jupiter.api.Test; public class Note2Test { @Test public void textmains() { // 测试代码 } } ``` ### 2. 检查JUnit依赖 要保证项目中已正确添加JUnit依赖。若使用Maven,可在 `pom.xml` 里添加如下依赖: ```xml <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>5.8.2</version> <scope>test</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-engine</artifactId> <version>5.8.2</version> <scope>test</scope> </dependency> ``` 若使用Gradle,可在 `build.gradle` 中添加: ```groovy testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2' ``` ### 3. 检查测试类路径 确保测试类位于正确的源目录,一般测试类应放在 `src/test/java` 目录下。 ### 4. 检查IDE配置 有时候,IDE的配置可能有误。可尝试重新导入项目或重启IDE。 ### 5. 检查方法签名 测试方法必须是 `public` 且无返回值(`void`)。确保 `textmains` 方法符合这些要求: ```java public void textmains() { // 测试代码 } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值