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

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

     */
     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);
         /* 如果連接池中的緩存連接數大于少緩存連接數,檢查釋放數據連接后是否
緩存連接數比之前減少了一個,反之緩存連接數是否保持為少緩存連接數
         */
         if (cacheSize > minConnections)      {
             assertEquals(cacheSize, cacheSizeAfter + 1);
         } else {
             assertEquals(cacheSize, minConnections);
         }
     }
   
 /** 釋放建立測試起始環境時的資源。
     */
 protected void tearDown() {
         cacheImpl = null;
         conProxy.destroy();
     }
     public DefaultConnectionProxyTest(String name) {
         super(name);
     }
 /** 你可以簡單的運行這個類從而對類中所包含的測試單元進行測試。
     */
     public static void main(String args[]) {
         junit.textui.TestRunner.run(DefaultConnectionProxyTest.class);
     }
 }


當單元測試完成后,我們可以用 Junit 提供的 TestSuite 對象對測試單元進行組織,你可以決定測試的順序,然后運行你的測試。

4. 如何維護單元測試

通過上面的描述,我們對如何確定和編寫測試有了基本的了解,但是需求總是變化的,因此我們的單元測試也會根據需求的變化不斷的演變。如果我們決定修改類的行為規則,可以明確的是,我們當然會對針對這個類的測試單元進行修改,以適應變化。但是如果對這個類僅有調用關系的類的行為定義沒有變化則相應的單元測試仍然是可靠和充分的,同時如果包含行為變化的類的對象的狀態定義與其沒有直接的關系,測試單元仍然起效。這種結果也是封裝原則的優勢體現。

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产欧美日韩在线一区二区不卡 | 伦理在线 | 在线99视频 | 免费看欧美一级特黄α大片 | 久久久精品成人免费看 | 欧美成人tv| 国产伦精一区二区三区视频 | 亚洲精品亚洲人成在线播放 | 成人免费xxx色视频 成人免费xxxxx在线视频 | 自拍偷拍 欧美日韩 | 欧美日韩国产在线人 | 60岁欧美乱子伦xxxx | 久久亚洲精品视频 | 日本a∨在线 | 国产乱子伦一区二区三区 | 欧美亚洲中日韩中文字幕在线 | 欧美猛妇色xxxxxbbbb | 欧美最新一区二区三区四区 | 午夜黄色福利 | 亚洲视频 欧美视频 | 18成人免费观看网站入口 | 成人福利片 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | jizz国产丝袜18老师美女 | 欧美一级黄色录相 | 黄色一毛片| 免费大黄网站 | 又黄又爽又成人免费视频 | 日本欧美久久久久免费播放网 | 日韩三及片 | 三黄日本三级在线观看 | 蜜臀国产在线 | 亚洲国产日韩欧美在线 | 日本中文字幕在线观看视频 | 美国十次狠狠色综合 | 九九九精品视频 | 日本又色又爽又黄的大片 | 亚洲欧美成aⅴ人在线观看 亚洲欧美成人 | 91久久人澡人人添人人爽 | 男女男精品视频在线播放 | 欧美一区二区在线 |