如何使用休眠从数据库中检索junit

时间:2019-03-20 09:33:59

标签: java hibernate

我正在尝试对项目进行j单元测试,该项目使用休眠类将值插入数据库。该程序正在创建表并将值插入数据库。但是我无法进行j单元测试?

我已经附加了Java表,但是调试时不显示使用测试文件插入的值?

SampleInsertTest.java

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class SampleTest {

	Session session;
	SampleInsert st;
	
	@Before
	public void setUp() {

	  session=mock(Session.class);
		st=new SampleInsert();
	}
	
	@Test
	public void test() {
		Sample s=new Sample();
		s.set_sid(1);
		s.set_name("gopal");
		Mockito.when(session.get(Sample.class,1)).thenReturn(s);
		System.out.println(s+"1");
		st.insert();
	}

}
SampleInsert.java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class SampleInsert {

	private Sample s;
	private static SessionFactory sf; 

	
	public void insert() {
		sf = new Configuration().configure(new File("C:/Users/ns068002/eclipse-workspace/JAXRS-HelloWorld1/src/main/java/com/javacodegeeks/enterprise/rest/jersey/hibernate.cfg.xml")).buildSessionFactory();
		Session session = sf.getCurrentSession();
        session.beginTransaction(); 
        Sample s=(Sample) session.get(Sample.class, 1);
        System.out.println(s+"2");
        System.out.println(s.get_name());
        session.getTransaction().commit();
	}
}
Sample.java

@Entity
public class Sample {

	@Id
	private int sid;
	private String name;
	public void set_sid(int sid)
	{
		this.sid=sid;
	}
	public void set_name(String name)
	{
		this.name=name;
	}
	public int get_sid()
	{
		return sid;
	}
	public String get_name()
	{
		return name;
	}
	
}

0 个答案:

没有答案