spring 集成 junit
spring 集成 junit,方便測試,特別是使用TTD方法開發。
1、spring是純java方式配置,集成junit如下:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import com.redis.demo.init.AppConfig;
/**
* 共用 dao
*
* @author sean
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { AppConfig.class })
public class BaseDaoTest {
@Test
public void _() {
}
}
2、spring是xml文件的方式配置,集成junit如下:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* 共用 dao
*
* @author sean
*
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({"classpath:applicationContext.xml"})
public class BaseDaoTest {
@Test
public void _() {
}
}
這樣其他的測試類就可以繼承這個BaseDaoTest,這樣我們的測試就相當方便。舉例如下
import java.util.List;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import com.redis.demo.core.entity.Member;
public class MemberDaoTest extends BaseDaoTest {
@Autowired
private IMemberDao memberDao;
private Member member;
@Before
public void setUp() {
member = new Member();
member.setName("魏升水");
member.setCardNum("25215411200");
}
/**
* 測試保存會員
*/
@Test
public void testSaveMember() {
saveMember(member);
Assert.assertNotNull(member.getId());
memberDao.saveMember(member);
Assert.assertNotNull(member.getId());
}
/**
* 測試通過id查詢會員
*/
@Test
public void testGetMemberById() {
// 添加數據
saveMember(member);
// case 1: id 存在,能查詢到數據
String id = member.getId();
Member member2 = memberDao.getMemberById(id);
Assert.assertEquals(member.getId(), member2.getId());
// case 2: id 不存在,不能查詢到數據
id = id + "1";
Member member3 = memberDao.getMemberById(id);
Assert.assertNull(member3);
}
/**
* 查詢所有會員
*/
@Test
public void testGetAllMembers() {
// 前置檢查:現在還沒有添加數據,一個會員也沒有
List<Member> members = memberDao.getAllMembers();
Assert.assertEquals(0, members.size());
// 添加數據: 保存兩個會員
// save member1
saveMember(member);
// save member2
member = new Member();
member.setName("jredis");
member.setCardNum("20150324");
saveMember(member);
members = memberDao.getAllMembers();
Assert.assertEquals(2, members.size());
}
/**
* 測試根據id刪除會員
*/
@Test
public void testDeleteMemberById() {
// 數據準備
saveMember(member);
// case 1: 指定的id存在,刪除成功
String id = member.getId();
boolean isDeleted = memberDao.deleteMemberById(id);
Assert.assertTrue(isDeleted);
// case 2: 指定的id不存在,刪除失敗
id = id + "1";
isDeleted = memberDao.deleteMemberById(id);
Assert.assertFalse(isDeleted);
}
private void saveMember(Member member) {
memberDao.saveMember(member);
}
} 本文由用戶 dwd4 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!