• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    應用JUnit實施單元測試

    發布: 2010-4-22 10:02 | 作者: 不詳 | 來源: 領測測試網采編 | 查看: 42次 | 進入軟件測試論壇討論

    領測軟件測試網

      2>覆蓋runTest()方法(可選);

      3>寫一些testXXXXX()方法;

      Fixture

      解下來的問題是,如果你要對一個或若干個的類執行多個測試,該怎么辦?JUnit對此有特殊的解決辦法。

      如果需要在一個或若干個的類執行多個測試,這些類就成為了測試的context。在JUnit中被稱為Fixture(如testCar類中的 myCar 和 expectedWheels )。當你編寫測試代碼時,你會發現你花費了很多時間配置/初始化相關測試的Fixture。將配置Fixture的代碼放入測試類的構造方法中并不可取,因為我們要求執行多個測試,我并不希望某個測試的結果意外地(如果這是你要求的,那就另當別論了)影響其他測試的結果。通常若干個測試會使用相同的Fixture,而每個測試又各有自己需要改變的地方。

      為此,JUnit提供了兩個方法,定義在TestCase類中。

      protected void setUp() throws java.lang.Exception

      protected void tearDown() throws java.lang.Exception

      覆蓋setUp()方法,初始化所有測試的Fixture(你甚至可以在setUp中建立網絡連接),將每個測試略有不同的地方在testXXX()方法中進行配置。

      覆蓋tearDown()(我總想起一首叫雨滴的吉他曲),釋放你在setUp()中分配的永久性資源,如數據庫連接。

      當JUnit執行測試時,它在執行每個testXXXXX()方法前都調用setUp(),而在執行每個testXXXXX()方法后都調用tearDown()方法,由此保證了測試不會相互影響。

      TestCase

      需要提醒一下,在junit.framework.Assert類中定義了相當多的assert方法,主要有assert(), assert(), assertEquals(), assertNull(), assertSame(), assertTrue(), fail()等方法。如果你需要比較自己定義的類,如Car。assert方法需要你覆蓋Object類的equals()方法,以比較兩個對象的不同。實踐表明:如果你覆蓋了Object類的equals()方法,最好也覆蓋Object類的hashCode()方法。再進一步,連帶Object類的toString()方法也一并覆蓋。這樣可以使測試結果更具可讀性。

      當你設置好了Fixture后,下一步是編寫所需的testXXX()方法。一定要保證testXXX()方法的public屬性,否則無法通過內省(reflection)對該測試進行調用。

      每個擴展的TestCase類(也就是你編寫的測試類)會有多個testXXX()方法。一個testXXX()方法就是一個測試。要想運行這個測試,你必須定義如何運行該測試。如果你有多個testXXX()方法,你就要定義多次。JUnit支持兩種運行單個測試的方法:靜態的和動態的方法。

      靜態的方法就是覆蓋TestCase類的runTest()方法,一般是采用內部類的方式創建一個測試實例:

      TestCase test01 = new testCar("test getWheels") {

      public void runTest() {

      testGetWheels();

      }

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>