我正在爲DAO類編寫單元測試,我剛剛做了一些更改。由於這個DAO的性能非常重要,所以我想在單元測試中對性能進行一些檢查。而且由於我對這個DAO的更改可能會導致多次查詢,我想檢查一下DAO是否只查詢DB一次。否則,單元測試應該失敗。檢查DAO在單元測試中的性能/查詢次數
我不知道這是否可能。請幫助:)
我正在爲DAO類編寫單元測試,我剛剛做了一些更改。由於這個DAO的性能非常重要,所以我想在單元測試中對性能進行一些檢查。而且由於我對這個DAO的更改可能會導致多次查詢,我想檢查一下DAO是否只查詢DB一次。否則,單元測試應該失敗。檢查DAO在單元測試中的性能/查詢次數
我不知道這是否可能。請幫助:)
時間測試,你可以使用
時間調出註釋等。
@Test(超時= 500)
你可以注入代碼(使用aspectJ例如)來計算DB訪問 - 當你查詢數據庫的計數器加需要時間觀測值。
一個簡單的解決辦法是在實例測試方面的DAO時使用匿名類:
DAObject dao = new DAObject(){
@override
public void QueryDB(args){
incrementCounter();
long startTime = System.currentTimeMillis();
super.QueryDB(args);
_queryTime = System.currentTimeMillis() - startTime;
}
}
然後
assertEquels(counter,1);
assertTrue(_queryTime < MAX_ALLOWED_TIME);