边做边学小型封装--利用主流框架进行Dao层通用化,Spring3.0+Hibernate3.3.2通用Dao层整合(五)

当所有工作准备完成后接下来就是测试了,测试的话就非常简单了,在Eclipse中加入Junit测试包,或者可以到Junit的官方网站下载Junit4.8.1.Jar包放入lib文件夹中,创建一个JunitTestCase或者创建一个类,输入以下代码:

package org.lxh.test;

import static org.junit.Assert.*;

import java.util.List;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.lxh.bean.User;
import org.lxh.service.interfaces.UserServiceIf;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class UserxTest {
	
	
	private static UserServiceIf userService;

	@Before
	public  void setUpBeforeClass() throws Exception {
		ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
		userService =(UserServiceIf)applicationContext.getBean("userService");
	//	userService =(UserServiceIf)applicationContext.getBean("userService");
	}

	
	@After
	public  void tearDownAfterClass() throws Exception {
	}

	@Test
	public void testClearAllUser() {
		try {
		//	userService.clearAllUser(userService.listUserById(User user,1));
		} catch (Exception e) {
			e.printStackTrace();
			fail("Not yet implemented");
		}
		
	}

	@Test
	public void testClearUserById() {
		try {
			userService.clearUserById(1);
		} catch (Exception e) {
			e.printStackTrace();
			fail("Not yet implemented");
		}
		
	}

	@Test
	public void testListAllUser() {
		try {
			List<User> list =userService.listAllUser();
			for (User user : list) {
				System.out.println(user.getUsername()+":"+user.getPassword());
			}
		} catch (Exception e) {
			e.printStackTrace();
			fail("Not yet implemented");
		}
	}

	@Test
	public void testListUserById() {
		try {
			User user =userService.listUserById(2);
			System.out.println(user.getUsername()+":"+user.getPassword());
		} catch (Exception e) {
			e.printStackTrace();
			fail("Not yet implemented");
		}
	}

	@Test
	public void testModifyUser() {
		try {
//		User user =	userService.listUserById(1);
//		user.setUsername("fuck");
//			userService.modifyUser(user);
		} catch (Exception e) {
			e.printStackTrace();
			fail("Not yet implemented");
		}
		
	}

	@Test
	public void testNewUser() {
		try {
			User user = new User();
			user.setUsername("edward");
                        user.setPassword("lxh");
			userService.newUser(user);
		} catch (Exception e) {
			e.printStackTrace();
			fail("Not yet implemented");
		}
		
	}

}

输入上述代码就可以完整整个通用测试了.

总结一下:因为这个封装只是单单针对的比较简单的增删查改的功能,只是把我们每个经常使用的CRUD功能完全集成一个Dao里面,不用我们对每个表进行独立的Dao创建,只是在Service层中详细把每个表分开进行操作,维护性比较高,只是单独维护Dao就可以了,需要增加功能或者删除功能完全统一完成可以直接应用到各各Service中,如果利用工厂模式的话维护性更加方便.

posted @ 2010-02-26 11:57  EdwardLau  阅读(1101)  评论(1编辑  收藏  举报