找到的最终答案

在打算把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;

...

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: