Android 針對DAO層的單元測試

2021-08-21 21:23:53 字數 1185 閱讀 7192

新增依賴,(3.3.2並不是最新版本)

testcompile 'org.robolectric:robolectric:3.3.2'
定義資料工具類

定義的字段對應之前資料庫的字段(比如原資料庫需要測試id或name的刪除更新等,根據需求定義)

如果資料庫表字段較少,可以直接插入資料,不用定義該類

public

class baseinfo

設定geter和seter

}

定義各表字段
//因為筆者這塊介面卡中都是已經定義好的各個列名
定義測試用的insert函式(將資料插入資料庫)
public long inserttestdata(baseminfo baseminfo)
測試之前的環境配置

用這個框架測試之前建立乙個新的資料庫,用於各種測試,每個測試結束後自動刪除資料庫,所以不用擔心對原有的資料庫造成干擾。

@runwith(robolectrictestrunner.class)//robolectric是乙個單元測試框架,可以對android sdk jar進行消除

@config(constants = buildconfig.class, sdk = 21, manifest = config.none)//配置環境sdk版本等等

/** * 該類用於測試資料庫的一些增刪改查的方法

* 測試用類

*/public

class

testmydatabaseadapter

@after

public

void

teardown()

/*** 根據id更新name**/

@test

public

void

update()

/*** 更新***x

*/@test

public

void

update***x()

/*** 插入***x

*/@test

public

void

insert***x() ··

·}

查詢,刪除等也可以用類似的思想單元測試。

正在學習安卓,希望能夠多積累,多提公升

Mybatis的dao層傳遞單參出現的問題

通常情況下,mybatis傳遞單參可以直接傳,不需要向多參一樣加註解 設定接參名或者利用map那樣麻煩,但遇到帶if的sql語句 select id selectall resultmap baseresultmap parametertype integer select include refi...

dao層 service層 事務的理解

dao層 對應資料最底層操作,一般來說,乙個資料庫table對應乙個dao,單錶操作。service層 把客戶多方面要求進行彙總,對外只有引數即可,至於服務層操作多少個dao與客戶無關。事務四大特性 1.原子性 原子性是指事務是乙個不可分割的工作單位,事務中的操作要麼都發生,要麼都不發生。2.一致性...

MyBatis的Dao層注入SqlSession

於是就想把這東西整合進來,當進行dao的時候發現乙個小問題,sqlsession怎麼注入進來的問題,以前hibernate的的習慣用sessionfactory的opensession 方法,但是每個方法都要open一下,麻煩,就想能不能直接把sqlsession通過註解注入進來,有下面這三個類都實...