代码测试
两种方式验证代码正确
一.主方法测试
如果不知道如何编写测试程序,那么就根据主方法进行调用。
范例:测试增加操作
package xxx.test.main; import java.util.Date; import xxx.factory.ServiceFactory; import xxx.vo.Emp; public class TestEmpInsert { public static void main(String[] args) throws Exception { Emp vo = new Emp(); vo.setEmpno(88); vo.setEname("james"); vo.setJob("coder"); vo.setHiredate(new Date()); vo.setSal(1.2); vo.setComm(100.0); System.out.println(ServiceFactory.getIEmpServiceInstance().insert(vo)); } }
范例:测试数据查询
package xxx.test.main; import java.util.Iterator; import java.util.List; import java.util.Map; import xxx.factory.ServiceFactory; import xxx.vo.Emp; public class EmpListSplit { public static void main(String[] args) throws Exception { Map<String,Object> map = ServiceFactory.getIEmpServiceInstance().listSplit("ename", "S", 1, 10); List<Emp> allEmps = (List<Emp>) map.get("allEmps"); Integer empCount = (Integer) map.get("empCount"); System.out.println("符合查询的数据量:" + empCount); Iterator<Emp> iter = allEmps.iterator(); while(iter.hasNext()) { System.out.println(iter.next()); } } }
利用junit测试
只要是业务开发人员,一定要在业务开发完成之后编写junit的TestCase。首先选择要测试的接口。
package xxx.test.junit; import static org.junit.jupiter.api.Assertions.*; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; import org.junit.jupiter.api.Test; import junit.framework.TestCase; import xxx.factory.ServiceFactory; import xxx.vo.Emp; class IEmpServiceTest { @Test void testInsert() { Emp vo = new Emp(); vo.setEmpno(8888); vo.setEname("james2"); vo.setJob("FICO3"); vo.setHiredate(new Date()); vo.setSal(5.2); vo.setComm(160.0); try{ TestCase.assertTrue(ServiceFactory.getIEmpServiceInstance().insert(vo)); }catch (Exception e) { e.printStackTrace(); } } @Test void testUpdate() { Emp vo = new Emp(); vo.setEmpno(8888); vo.setEname("james3"); vo.setJob("FICO4"); vo.setHiredate(new Date()); vo.setSal(1.2); vo.setComm(160.0); try{ TestCase.assertTrue(ServiceFactory.getIEmpServiceInstance().update(vo)); }catch (Exception e) { e.printStackTrace(); } } @Test void testDelete() { Set<Integer> all = new HashSet<Integer>(); all.add(8888); try{ TestCase.assertTrue(ServiceFactory.getIEmpServiceInstance().delete(all)); }catch (Exception e) { e.printStackTrace(); } } @Test void testGet() { try{ TestCase.assertNotNull(ServiceFactory.getIEmpServiceInstance().get(7369)); }catch (Exception e) { e.printStackTrace(); } } @Test void testList() { try{ TestCase.assertTrue(ServiceFactory.getIEmpServiceInstance().list().size() > 0); }catch (Exception e) { e.printStackTrace(); } } @Test void testListSplit() { try { Map<String,Object> map = ServiceFactory.getIEmpServiceInstance().listSplit("ename", "JAMES", 1, 10); List<Emp> allEmps = (List<Emp>) map.get("allEmps"); Integer empCount = (Integer) map.get("empCount"); TestCase.assertTrue(allEmps.size() > 0 && empCount > 0); }catch (Exception e) { e.printStackTrace(); } } }
这些代码是留给专门的业务人员使用的。