springboot 對dao層介面進行單元測試-springboot(4)
阿新 • • 發佈:2018-12-22
前言
接著之前的springboot專案,來寫springboot對dao層介面測試。
正文
之前我的springboot專案在初始化就自動引入了測試依賴,所以無需再次引入其他。
新增函式
mybatis自動生成了6個基本函式,但是開發中這些函式遠遠不夠用,(新增函式寫法)這裡我重新增加一個函式selectAll()
得到所有的資料庫記錄。
- 在Mapper中新增函式
在UserMapper.java
中新增ArrayList<User> selectAll()
ArrayList<User> selectAll();
- xml對映檔案中,編寫函式體.
在UserMapper.xml
中新增
<select id="selectAll" resultMap="BaseResultMap">
SELECT * FROM user
</select>
- 更新services
在UserService.java
中新增
@Override
public ArrayList<User> selectAll() {
return userMapper.selectAll();
}
測試函式
在初始化已經自動生成了測試包和測試類,最簡單的是在測試類直接新增程式碼。
- 編輯測試程式碼
在HellospringApplicationTests.java
程式碼如下
package com.nick.hello; import com.nick.hello.dao.UserMapper; import com.nick.hello.entity.User; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import java.util.Iterator; import java.util.List; @RunWith(SpringRunner.class) @SpringBootTest @EnableAutoConfiguration public class HellospringApplicationTests { @Autowired private UserMapper userMapper; @Test public void selectAllTest() { List<User> list = userMapper.selectAll(); System.out.println(list); Iterator iterator = list.iterator(); int i = 1; while (iterator.hasNext()) { User user = (User)iterator.next(); System.out.println(i + " : " + user.getId()); i++; } } }
很簡單,自動注入Mapper物件,然後操作物件的方法即可
2. 執行測試類
點選左側執行標誌
點選左側的函式名可以快速找到結果