本博客根据《李兴华--java8编程开发入门》视频整理而来。
对于这种业务的测试,使用junit是最好的选择,因为juint至少会返回两个值:green bar、red ber。
首先要选择测试的类或者接口,现在选择好IEmpService接口进行测试。步骤如下:
1.选中要测试的接口IEmpService
2.new->junit test case
3.将这个测试类放在test.junit子包下
4.点击next,勾选要测试的方法
5. 在生成的用于测试java类种,将代码一点点的填充上去。
范例:IEmpServiceTest
package com.fs.test.junit; import java.util.Date; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Random; import java.util.Set; import org.junit.jupiter.api.Test; import com.fs.factory.ServiceFactory; import com.fs.vo.Emp; import junit.framework.TestCase; public class IEmpServiceTest { private static int empno; // 为插入做准备 static { empno = new Random().nextInt(10000); // 动态生成一个empno的数据 } @Test void testInsert() { // 测试插入数据 需要有一个唯一的编号 Emp vo = new Emp(); vo.setEmpno(empno); vo.setEname("张三"); vo.setJob("学生"); vo.setHiredate(new Date()); vo.setSal(199.1); vo.setComm(12.0); try { // 测试返回值是不是true TestCase.assertTrue(ServiceFactory.getIEmpServiceInstance().insert(vo)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test void testUpdate() { Emp vo = new Emp(); vo.setEmpno(202); vo.setEname("易烊千玺"); vo.setJob("Singer"); vo.setHiredate(new Date(2016 - 1900, 10 - 1, 7)); vo.setSal(19.91); vo.setComm(10.07); try { // 修改成功返回true 判断返回的是否是true TestCase.assertTrue(ServiceFactory.getIEmpServiceInstance().update(vo)); } catch (Exception e) { e.printStackTrace(); } } @Test void testDelete() { Set<Integer> ids = new HashSet<>(); ids.add(302); try { // 修改成功返回true 判断返回的是否是true TestCase.assertTrue(ServiceFactory.getIEmpServiceInstance().delete(ids)); } catch (Exception e) { e.printStackTrace(); } } @Test void testGet() { int ids = 202; try { TestCase.assertNotNull(ServiceFactory.getIEmpServiceInstance().get(ids)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test void testList() { try { TestCase.assertTrue(ServiceFactory.getIEmpServiceInstance().list().size() > 0); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Test void testListIntIntStringString() { try { Map<String, Object> map = ServiceFactory.getIEmpServiceInstance().list(1, 5, "job", "n"); int count = (Integer) map.get("empCount"); List<Emp> all = (List<Emp>) map.get("allEmps"); TestCase.assertTrue(count > 0 && all.size() > 0); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }以上测试都正常通过后,代码就可以交给用户去调用了,业务中心就算是写完了。
