maven仓库地址
-
<dependency>
-
<groupId>junit</groupId>
-
<artifactId>junit</artifactId>
-
<version>4.12</version>
-
<scope>test</scope>
-
</dependency>
测试的时候报错 : org.junit.runners.model.InvalidTestClassError: Invalid test class 'cn.util.CSDN':, 一般有两个错误引起的
错误代码如下
-
org.junit.runners.model.InvalidTestClassError: Invalid test class 'cn.util.CSDN1':
-
1. Method Test2() should be void
-
at org.junit.runners.ParentRunner.validate(ParentRunner.java:525)
-
at org.junit.runners.ParentRunner.<init>(ParentRunner.java:102)
-
at org.junit.runners.BlockJUnit4ClassRunner.<init>(BlockJUnit4ClassRunner.java:84)
-
at org.junit.runners.JUnit4.<init>(JUnit4.java:23)
-
at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)
-
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
-
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)
-
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)
-
at org.junit.internal.requests.ClassRequest.createRunner(ClassRequest.java:28)
-
at org.junit.internal.requests.MemoizingRequest.getRunner(MemoizingRequest.java:19)
-
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:36)
-
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:49)
-
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
-
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
-
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
解决方法
1、 有时候IDEA开启了自动导包, 导致@Test注解导包时会导错包。 正确的包地址: import org.junit.Test;
2、方法类型错误
使用注意事项,
-
//单元测试
-
// 1、添加 @Test注解 包路径是 import org.junit.Test;注意不要导错包,
-
// 2、方法类型必须是 void,没有返回值
-
// 3、注意一个坑,和本Test单元测试同类中的其他测试方法也不能添加带返回值的方法,方法类型也必须是void
-
@Test
-
public void Test(){
-
System.out.println( " ============= ");
-
System.out.println( " ============= ");
-
System.out.println( " ============= ");
-
}
如下图,如果 Test2 方法带返回值,那么Test1 方法执行的时候也会报错,错误类型如下
如果方法都改成void类型,就没有错误了