代码编写完没有任何的一个报错,但是在运行时,显示一直没有测试
public class IUserDaoTest {
private InputStream inputStream;
private SqlSessionFactory factory;
private SqlSession sqlSession;
private IUserDao userDao;
@BeforeAll//用于在测试代码之前进行
public void init() throws Exception{
String resources = "SqlMapConfig.xml";
inputStream = Resources.getResourceAsStream(resources);
factory = new SqlSessionFactoryBuilder().build(inputStream);
sqlSession = factory.openSession();
userDao = sqlSession.getMapper(IUserDao.class);
System.out.println("BeforeAll");
}
@AfterAll //用于在测试之后进行
public void close() throws Exception{
sqlSession.close();
inputStream.close();
System.out.println("AfterAll");
}
@Test
public List<User> finAll(){
List<User> users = userDao.findAll();
for (User user : users) {
System.out.println(user);
}
return users;
}
}
解决方法:
将@AfterAll和@BeforeAll的方法更改为静态的方法,如果涉及变量也更改为静态变量
package com.jhsf.dao;
import com.jhsf.domain.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import java.io.InputStream;
import java.util.Date;
import java.util.List;
public class IUserDaoTest {
private static InputStream inputStream;
private static SqlSessionFactory factory;
private static SqlSession sqlSession;
private static IUserDao userDao;
@BeforeAll//用于在测试代码之前进行
public static void init() throws Exception{
String resources = "SqlMapConfig.xml";
inputStream = Resources.getResourceAsStream(resources);
factory = new SqlSessionFactoryBuilder().build(inputStream);
sqlSession = factory.openSession();
userDao = sqlSession.getMapper(IUserDao.class);
System.out.println("BeforeAll");
}
@AfterAll //用于在测试之后进行
public static void close() throws Exception{
sqlSession.close();
inputStream.close();
System.out.println("AfterAll");
}
// 测试之间输出结果,不用返回值,否则依旧回显示没有发现测试
@Test
public void finAll(){
List<User> users = userDao.findAll();
for (User user : users) {
System.out.println(user);
}
// return users;
}
}