1. 程式人生 > >SpringBoot的MyBatis的測試類

SpringBoot的MyBatis的測試類

一 測試前資料

二 測試類

package com.imooc.demo.dao;

import static org.junit.Assert.assertEquals;

import java.util.Date;
import java.util.List;

import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import com.imooc.demo.entity.Area;

@RunWith(SpringRunner.class)
@SpringBootTest
@FixMethodOrder(MethodSorters.NAME_ASCENDING) // 按方法名大小升序執行
public class AreaDaoTest {
    //通過spring容器注入Dao的實現類
    @Autowired
    private AreaDao areaDao;

    @Test
    public void testAQueryArea() {
        List<Area> areaList = areaDao.queryArea();
        // 驗證預期值和實際值是否相符
        assertEquals(2, areaList.size());
    }

    @Test
    public void testBInsertArea() {
        //建立一個區域物件
        Area area = new Area();
        area.setAreaName("測試區域");
        area.setCreateTime(new Date());
        area.setPriority(1);
        //將該物件例項新增入庫
        int effectedNum = areaDao.insertArea(area);
        //檢測影響行數
        assertEquals(1, effectedNum);
        //校驗總數是否+1
        List<Area> areaList = areaDao.queryArea();
        assertEquals(3, areaList.size());
    }

    @Test
    public void testCQueryAreaById() {
        Area area = areaDao.queryAreaById(2);
        assertEquals("西苑", area.getAreaName());
    }

    @Test
    public void testDUpateArea() {
        List<Area> areaList = areaDao.queryArea();
        for (Area area : areaList) {
            if ("測試區域".equals(area.getAreaName())) {
                // 對比之前的priority值
                assertEquals(1, area.getPriority().intValue());
                area.setPriority(2);
                int effectedNum = areaDao.updateArea(area);
                assertEquals(1, effectedNum);
            }
        }
    }

    @Test
    public void testEDeleteArea() {
        List<Area> areaList = areaDao.queryArea();
        for (Area area : areaList) {
            if ("測試區域".equals(area.getAreaName())) {
                int effectedNum = areaDao.deleteArea(area.getAreaId());
                assertEquals(1, effectedNum);
            }
        }
        // 重新獲取一次列表,看看總數是否少1
        areaList = areaDao.queryArea();
        assertEquals(2, areaList.size());
    }
}

三 測試結果