亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
怎樣使用Junit Framework進行單元測試的編寫
作者:網絡轉載 發布時間:[ 2013/5/7 11:30:54 ] 推薦標簽:

在公開內部狀態數據後,我們可以編寫我們的測試單元了,單元測試的選擇方法和選擇尺度已經在本文前面章節進行了說明,
但是仍然需要注意的是,由于assert方法會拋出一個error,你應該在測試方法的后集中用assert相關方法進行判斷,
這樣可以確保資源得到釋放。

對數據庫連接池的例子,我們可以建立測試類DefaultConnectionProxyTest,同時建立數個test case,如下

示例二
/**
* 這個類對示例一中的類進行簡單的測試。
*
*/
public class DefaultConnectionProxyTest extends TestCase {
private DefaultConnectionProxy conProxy = null;
private OracleConnectionCacheImpl cacheImpl = null;
private Connection con = null;

/** 設置測試的fixture,建立必要的測試起始環境。
*/
protected void setUp() {
conProxy = new DefaultConnectionProxy();
conProxy.start();
cacheImpl = conProxy.getConnectionCache();
}

/** 對示例一中的對象進行服務啟動后的狀態測試,檢查是否在服務啟動后,
連接池的參數設置是否正確。
*/
public void testConnectionProxyStart() {
int minConnections = 0;
int maxConnections = 0;

assertNotNull(cacheImpl);

try{
minConnections = Integer.parseInt(PropertyManager.getProperty
("DefaultConnectionProxy.minConnections"));
maxConnections = Integer.parseInt(PropertyManager.getProperty
("DefaultConnectionProxy.maxConnections"));
} catch (Exception e) {
// ignore the exception
}

assertEquals(cacheImpl.getMinLimit(), minConnections);
assertEquals(cacheImpl.getMaxLimit(), maxConnections);
assertEquals(cacheImpl.getCacheSize(), minConnections);
}

/** 對示例一中的對象進行獲取數據庫連接的測試,看看是否可以獲取有效的數據庫連接,
并且看看獲取連接后,連接池的狀態是否按照既定的策略進行變化。由于assert方法拋出的是
error對象,因此盡可能把assert方法放置到方法的后集體進行測試,這樣在方法內打開的
資源,才能有效的被正確關閉。
*/
public void testGetConnection() {
int cacheSize = cacheImpl.getCacheSize();
int activeSize = cacheImpl.getActiveSize();
int cacheSizeAfter = 0;
int activeSizeAfter = 0;

con = conProxy.getConnection();

if (con != null) {
activeSizeAfter = cacheImpl.getActiveSize();
cacheSizeAfter = cacheImpl.getCacheSize();

try{
con.close();
} catch (SQLException e) {
}
} else {
assertNotNull(con);
}

/*如果連接池中的實際使用連接數小于緩存連接數,檢查獲取的新的數據連接是否
從緩存中獲取,反之連接池是否建立新的連接
*/
if (cacheSize > activeSize){
assertEquals(activeSize + 1, activeSizeAfter);
assertEquals(cacheSize, cacheSizeAfter);
} else {
assertEquals(activeSize + 1, cacheSizeAfter);
}
}

/** 對示例一中的對象進行數據庫連接釋放的測試,看看連接釋放后,連接池的
狀態是否按照既定的策略進行變化。由于assert方法拋出的是error對象,因此盡可
能把assert方法放置到方法的后集體進行測試,這樣在方法內打開的
資源,才能有效的被正確關閉。
*/
public void testConnectionClose() {
int minConnections = cacheImpl.getMinLimit();
int cacheSize = 0;
int activeSize = 0;
int cacheSizeAfter = 0;
int activeSizeAfter = 0;

con = conProxy.getConnection();

if (con != null) {
cacheSize = cacheImpl.getCacheSize();
activeSize = cacheImpl.getActiveSize();

try{
con.close();
} catch (SQLException e) {
}

activeSizeAfter = cacheImpl.getActiveSize();
cacheSizeAfter = cacheImpl.getCacheSize();
} else {
assertNotNull(con);
}

assertEquals(activeSize, activeSizeAfter + 1);

上一頁123下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 天天做天天爱天天做天天吃中 | 日本道综合一本久久久88 | 日韩福利网站 | 日韩免费影视 | 欧美大片在线观看成人 | 成人精品视频 成人影院 | 久久精品国产亚洲a不卡 | 久久久久久久九九九九 | 天天草狠狠干 | 一级黄色片免费的 | 最近的中文字幕大全免费版 | 亚洲欧美日韩天堂在线观看 | 九九九网站 | 国产日韩亚洲不卡高清在线观看 | 青久在线 | 欧美黄免在线播放 | 国产大学生一级毛片绿象 | 免费韩国理伦片在线观看 | 奇米影视亚洲色图 | 日本欧美中文字幕 | 日本欧美一区二区三区视频麻豆 | 成人网在线 | 午夜影院性生活 | 草草草在线视频 | 大学生高清一级毛片免费 | 最新中文字幕在线观看 | 亚洲一区在线播放 | 国产成人精品综合久久久软件 | 在线亚洲精品自拍 | 三区在线视频 | 福利片网址| 午夜国产精品免费观看 | 在线观看国产高清免费不卡黄 | 永久免费毛片手机版在线看 | 欧美整片完整片视频在线 | 久久综合偷偷噜噜噜色 | 色综合天天综合网国产成人 | 最新欧美精品一区二区三区不卡 | 日韩精品导航 | 国产高清美女一级a毛片久久 | 国产精品21区 |