编程语言
首页 > 编程语言> > java.lang.Exception:No tests found matching的解决方案

java.lang.Exception:No tests found matching的解决方案

作者:互联网

今天学习MBatis时使用Junit测试出现了这个错误:

1 java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=add], {ExactMatcher:fDisplayName=add(com.test.UserTest)], {LeadingIdentifierMatcher:fClassName=com.test.UserTest,fLeadingIdentifier=add]] from org.junit.internal.requests.ClassRequest@42110406
2     at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40)
3     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createFilteredTest(JUnit4TestLoader.java:83)
4     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:74)
5     at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:49)
6     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:525)
7     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)
8     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)
9     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)

查了一下,发现大家遇到这个问题的原因有这几种:

1、测试方法前面没有添加@Test注解(这也是最常见的错误了)

 

解决方案:加上注解,非常简单。

2、测试方法使用了静态修饰

 

 

( 这里举的例子因为无法通过编译的,所以旁边直接提示有错。)

解决方案:删掉static,使用非静态方法进行测试。

 3、测试方法不是public

 

 

 测试方法必须是public,很容易忽略的小细节。

解决方案:改为public修饰。

4、版本不兼容

这个问题我没遇到,可以看一下这位朋友的解释:https://blog.csdn.net/sinat_32873711/article/details/53780453

5、缺少jar包(如此坑爹的原因。。。)

这个就是我遇到的问题了,我逐一排除了各种可能的原因以后运行程序还是报错,气得我都想砸电脑了...

 

 

 后来我仔细看了一些项目,嗯?这是什么?

 

项目上有个红色感叹号,检查了一下好像没有啥问题,于是查了一下说有可能是缺少jar包。

得,看看是不是这么回事吧。

在有红色感叹号的项目上右键,选择build path,再选择Configure Build Path,我去还真是少了jar包

 

 

 咋回事呢,我突然想起来我之前搞日志下jar包的时候,一开始下的1.7.25的版本,后来发现1.7.30的slf4j用的人比较多,那赶紧换了,我粘贴到lib文件夹里的时候,顺手就把1.7.25的jar包删了,结果搞出这样一个乌龙。

ok,remove这个jar包,项目恢复正常了。再来试试测试能不能行。

 

真是一包眼泪没处搁!令人激动的绿色!!我这辈子没这么爱过绿色!!

 

 OK,问题解决!

通过这个也可以发现,在排除了语法、格式方面的原因后假如问题还是不能解决,那么就得考虑考虑是不是那些杂七杂八的地方出现了问题,比如jar包丢失啊,版本不兼容啊之类的。

希望大家用Junit的时候每次都飘绿,永远不报红~~~

 

标签:lang,Exception,java,RemoteTestRunner,eclipse,jar,internal,org
来源: https://www.cnblogs.com/CharlieByTheSea/p/16089591.html