关键词:
异常
使用Junit单元测试报错如下:
java.lang.Exception: No runnable methods
at org.junit.runners.BlockJUnit4ClassRunner.validateInstanceMethods(BlockJUnit4ClassRunner.java:191)
at org.junit.runners.BlockJUnit4ClassRunner.collectInitializationErrors(BlockJUnit4ClassRunner.java:128)
at org.junit.runners.ParentRunner.validate(ParentRunner.java:416)
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:84)
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:65)
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:26)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:59)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:33)
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:50)
at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:221)
at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
错误代码
import org.junit.Test;
public class Test01
@Test
public void test()
System.out.println("hello world");
原因
代码没有任何问题。@Test
注解是放在方法上的,@Test
注解也来自于包org.junit.Test
。
这个问题必须同另外一个问题一起说明比较合适:使用Junit单元测试报错“No tests found matching Method test01(Test01) from ClassRequest@5387f9e0“
模拟下出现问题代码的环境:maven项目,有一个main/java/Test01.java
和test/java/Test01.java
类。
main/java/Test01.java
import org.junit.Test;
public class Test01
@Test
public void test01()
System.out.println("hello world - main/java/Test01.java");
test/java/Test01.java
public class Test01
public static void main(String[] args)
System.out.println("hello world - test/java/Test01.java");
要出现上面的问题,需要符合下面的情况:
- 相同路径。指的是类的路径必须同级,如
test/java/Test01.java
与mian/java/Test01.java
是同级路径,test/java/Test01.java
与mian/java/hello/Test01.java
就不是同级路径了,也就不会发生冲突。 - 相同类名。指的是在相同路径下的类名相同,如
test/java/Test01.java
与main/java/Test01.java
既是相同路径又类名相同,test/java/Test02.java
与main/java/Test01.java
虽然路径相同但是类名不同,也不会发生冲突。 - 使用
@Test
注解与否。在路径和类名都相同的情况下,如果main/java/Test01.java
中有使用了@Test
注解的方法,而test/java/Test01.java
中一定没有使用@Test
注解的方法就会发生此冲突,如果有使用了@Test
注解的方法并且方法名不同就会报使用Junit单元测试报错“No tests found matching Method test01(Test01) from ClassRequest@5387f9e0“。
在满足上述条件后,执行main/java
下的带有@Test
注解的测试方法才会报上面这个错。
解决
- 让它们的类路径不同
- 让它们的类名不同
test/java
下一定要有使用了@Test
注解的方法
总之,建议不要在main/java
下写带有@Test
注解的测试方法,更不要让它们冲突。
使用junit单元测试报错“notestsfoundmatchingmethodtest01(test01)fromclassrequest@5387f9e0“(代码片段)
异常在src/main/java包下的类中执行单元测试报错:java.lang.Exception:NotestsfoundmatchingMethodtest01(Test01)fromorg.junit.internal.requests.ClassRequest@5387f9e0 atorg.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40) atcom.intellij.junit4.JUnit4IdeaTest... 查看详情
junit单元测试成功,但是报错org.junit.runners.model.invalidtestclasserror:invalidtestclass
一、报错如下二、报错原因lz报错的原因引入单元测试包引入错误,lz引入的是org.junit.jupiter.api.Test这个包导致报错。三、解决方式把org.junit.jupiter.api.Test这个包替换成org.junit.Test这个包,再次运行报错消失。 查看详情
[转]methodinitializationerrornotfound:junit4单元测试报错问题
methodinitializationerrornotfound:JUnit4单元测试报错问题原文地址:http://blog.csdn.net/chenleixing/article/details/442578392015-03-14 分类:Maven-JUnit-JProfiler等工具(14) 版权声明:本文为博主原创文章,未经博主允许不得转载。  查看详情
junit单元测试报错java.lang.noclassdeffounderror
查看版本 junit-4.11以上版本不在包含hamcrest。解决方法:下载 junit-4.11以下版本或下载hamcrest-core-1.3.jar驱动包 查看详情
junit5单元测试使用spring依赖注入idea提示报错,但是实际运行是没问题的,怎么解决红字报错问题?
参考技术A建议你安装提示,排查下错误,是不是少jar或者少代码,或者jar包版本不对,jdk版本冲突等等 查看详情
如何解决junit4单元测试报错:methodinitializationerrornotfound
场景:用Junit4运行测试时候,无法运行,报methodinitializationerrornotfound。 看日志发现,是有重复的Feature Step Case冲突导致。 解决方案: 1.在解决代码冲突时候,需要确保冲突文件整理完毕,再P... 查看详情
junit报错--initializationerror
在使用eclipse做单元测试的时候,有时候会出现一种错误: initializationError 出现这种错误是因为使用的Junit是eclipse默认的3.x版本,所以必须要继承TestCase这个类【在测试类后extendsTestCase】 若不想继承TestCase类,则必... 查看详情
eclipse中使用junit4进行测试不报错怎么回事
参考技术A新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。这个类并不是很完美,我们故意保留了一些Bug用于演示,这些Bug在注释中都... 查看详情
junit单元测试(代码片段)
...一个开源的java语言的单元测试框架专门针对java语言设计,使用最广泛,JUnit是标准的单元测试架构java单元测试是最小的功能单元测试代码,单元测试就是针对单个java方法的测试 目的确保单个方法正常运行测试代码可以作为示例... 查看详情
错误记录android单元测试报错(exampleunittest.kt:(3,12):unresolvedreference:junit/test/assertequ)(代码片段)
文章目录一、报错信息二、解决方案一、报错信息Android中配置了单元测试,执行gradlew:app:testDebugUnitTest命令,进行单元测试,报如下错误:Y:\\002_WorkSpace\\001_AS\\SVG>gradlew:app:testDebugUnitTest>Task:app:compileDebugUnitTestKotlinFAILEDe:Y:\\0 查看详情
单元测试junit
...可复用的测试框架,是xUnit测试框架的一个子集。为什么使用JUnit使用JUnit 查看详情
junit单元测试报错:java.lang.noclassdeffounderror:org/hamcrest/selfdescribing
今天在复习的时候对对一些知识点进行巩固,用到了junit-4.12.jar,手动导入jar包,然后运行然后报错:java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing。刚开始我以为代码错了,看了看发现不是代码的问题,是导包的问题。然后查询... 查看详情
软件测试junit单元测试(代码片段)
...#xff1f;二、Junit1.什么是junit2.Junit概念——断言3.Junit的简单使用①导入依赖②编写测试用例4.SpringBoot环境下的junit使用①导入依赖②编写测试用例三、模拟数据——mockito框架的使用1.mock2.打桩Stub3.@MockBean和@SpyBean前 查看详情
软件测试junit单元测试(代码片段)
...#xff1f;二、Junit1.什么是junit2.Junit概念——断言3.Junit的简单使用①导入依赖②编写测试用例4.SpringBoot环境下的junit使用①导入依赖②编写测试用例三、模拟数据——mockito框架的使用1.mock2.打桩Stub3.@MockBean和@SpyBean前 查看详情
junit单元测试框架的使用
...www.open-open.com/lib/view/open1462177214142.htmlJUnit单元测试框架的使用我们写单元测试,一般都会用到一个或多个单元测试框架,在这里,我们介绍一下JUnit4这个测试框架。这是Java界用的最广泛,也是最基础的 查看详情
在 JUnit 单元测试中使用 jRAPL
】在JUnit单元测试中使用jRAPL【英文标题】:UsingjRAPLinJUnitunittest【发布时间】:2016-11-3012:12:58【问题描述】:有什么方法可以在单元测试中使用jRAPL或类似工具来测量能耗?类似:publicclassFooTest@BeforepublicvoidstartUp()doublebeginning=Energ... 查看详情
使用junit进行单元测试(代码片段)
eclipse如何使用junit部署测试在要测试的类java文件上右键,选择New->JunitTestCase/Suitehttps://mvnrepository.com/artifact/org.junit/junit5-engine/5.0.0-ALPHA在项目上右键RunAsJunitTest或者MavenTest即可运行全部的测试用例junit5=JUnitPlatform+JU 查看详情
如何使用junit进行单元测试
测试方法的要求:必须是public无返回值无参数@Testpublicvoidf1(){ .....}在@Test上按下Ctrl+1(快速锁定错误)引入Junit包在方法名上右键runas->junit就可以运行了。 查看详情