解决问题
出现该报错是因为 @Test 注解的错误使用。
@Test 注解的正确使用 :
- 权限必须是public
- 不能有参数
- 返回值类型是void
- 本类的其他的使用了Test注解的方法返回值也必须是void
- 正确导包 import org.junit.Test
一般正确使用 @Test 下,就没有报错了。
深入探讨
但是,我们可以继续深入探讨。
SpringBootApplication 对应的测试类
import org.junit.jupiter.api.Test;
@SpringBootTest
class EzyUserBackendApplicationTests {
@Resource
private UserMapper userMapper;
@Test
void contextLoads() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
}
正常运行。
如果换成:
import org.junit.Test;
则不能启动。
普通的一个测试类
import org.junit.Test;
import org.junit.runner.RunWith;
@SpringBootTest
@RunWith(SpringRunner.class)
public class SampleTest {
@Resource
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
}
正常启动。
或者这样:文章来源:https://www.toymoban.com/news/detail-789848.html
import org.junit.jupiter.api.Test;
@SpringBootTest
public class SampleTest {
@Resource
private UserMapper userMapper;
@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.assertEquals(5, userList.size());
userList.forEach(System.out::println);
}
}
也会正常启动。文章来源地址https://www.toymoban.com/news/detail-789848.html
到了这里,关于【SpringBoot】org.junit.runners.model.InvalidTestClassError 单元测试类报错(已解决)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!