找到的最终答案
在打算把Junit4切换到Junit5时,出现如下报错。所有的case运行通过,但最终出现了如下的报错:
org.junit.runners.model.InvalidTestClassError: Invalid test class 'com.zyd.sbdemo.repository.UserDaoTest':
1. No runnable methods
找到两个解答,都不能完全解决问题
有说没有加@Test注解 有说应该用import org.junit.Test;替代import org.junit.jupiter.api.Test;的,但这样会导致@BeforeAll等注解无法使用
找到的最终答案
原因是Junit4与Junit5的区别
在Junit4中,测试类上用@RunWith(SpringRunner.class)注解
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserDaoTest {
@Resource
private UserDao userDao;
...
在Junit5中,使用的是@ExtendWith(SpringExtension.class)
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
import javax.annotation.Resource;
@ExtendWith(SpringExtension.class)
@SpringBootTest
public class UserDaoTest {
@Resource
private UserDao userDao;
...
推荐文章
发表评论