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

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

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

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

    單元測試和編碼協作

    發布: 2009-12-24 10:54 | 作者: 不詳 | 來源: 領測國際測試網采編 | 查看: 15次 | 進入軟件測試論壇討論

    領測軟件測試網

      public static Testsuite() {

      return new TestSuite(ComplexTest.class);

      }

      Figure 1 一個復數類例子:(a)JUnit測試的setup,(b)JUnit測試的實例,(c)在一個類中為所有實例動態得創建一個測試組(test suite)

      要創建測試用例,我們要在 ComplexTest類中添加包含我們要執行的assertion的方法。測試方法名以“test”開始,并且必須是public修飾的(public 類型)。只有這樣JUnit才能通過Java的反射機制來調用它。我們接下來要測試的是對象的判等在我們的Complex類中重寫了 java.lang.Object的equals()方法,加法和乘法。

      Figure 1(b)展示了上述幾個測試方法的實現。

      我們可以用任何的Java原始類中都定義的assertEquals方法。(The assertEquals method is overloaded and defined for all wuhuif primitives, apart from wuhuif objects.這里的assertEquals()方法重寫和定義了所有Java原始類中的定義。)也可以用assertTrue和 assertFalse來測試條件;用assertNull和assertNotNull來判斷是否為空的引用;assertSame和 assertNotSame來測試兩個對象是否指向同一個引用。

      接下來就要開始運行測試了。最簡單的方法就是讓 JUnit通過反射機制來找到預定義的測試用例。當然也可以通過編寫一些其他的代碼來靜態指定要使用的測試用例。要用反射機制來動態指定要運行的測試用例,我們只需要像Figure 1(c)一樣在ComplexTest類中添加一個Testsuite()方法。

      三、運行測試

      運行測試時,我們不需要為Complex類添加任何一行代碼。事實上,在以測試驅動的開發過程中,是先編寫測試,然后寫具體的類的實現。當然一開始就編寫類的代碼也不會有任何的問題。JUnit的相關信息可以在www.JUnit.org上找到。這個站點中有很多文檔,包括Beck和Gamma原創的介紹JUnit的文章。JUnit的安裝非常簡單,只需要解壓就完成了。在編譯的過程中,需要確保ClassPath中包含了JUnit所在的目錄。假設你將程序放在/usr/java/JUnit下,編譯的命令就是javac –classpath “.:/usr/java/JUnit/JUnit.jar” ComplexTest.java。

      要運行測試,可以通過一下命令啟動JUnit的圖形界面:java -classpath “.:/usr/java/JUnit/JUnit.jar” JUnit.swingui.TestRunner 然后輸入包含測試組的類名。接下來JUnit就會進行測試,如果所有的測試都通過了,窗口上就會出現一個綠色的滾動條,如Figure2所示(圖略)。由此也就有了JUnit的箴言:“Keep the bargreen to keep the code clean.”,意思為,保持條為綠色,也就得到了良好的代碼。如果出現了錯誤,條就會變稱紅色,同時會出現一個關于失敗測試的詳細信息。如果你更喜歡文本界面,可以通過如下命令調用:

      wuhuif -classpath “.:/usr/java/JUnit/JUnit.jar” JUnit.textui. TestRunner ComplexTest,在中端窗口中就會出現運行結果。

      現在,你可以為Complex類添加更多的方法,比如一個復數的除法。與此同時,你也要為ComplexTest類添加一個測試用例,運行測試,然后糾正任何存在的錯誤,繼續編碼和測試。

      四、JUnit的遺贈和競爭

      JUnit的成功激勵了很多促進特殊代碼測試的擴展的誕生。這些擴展的目標是對數據庫代碼、EJB,Servlets等進行測試。JUnit也能很好的和一些開發環境(工具)相結合。JUnit Ant Task允許Ant調用JUnit的測試任務(要了解更多關于Ant,見Nicholas Serrano 和 Ismael Ciordia 2004年11、12月份的專欄)。JUnit的官方網站上包括了很多JUnit的擴展和與之結合的開發環境的介紹和鏈接。

      如果你最喜歡開發語言不是Java,其他的語言也提供了JUnit類似的接口和框架,xUNIT的符號代表了整個家族:CppUnit負責C++的單元測試;perlUnit是Perl的單元測試接口。 PyUnit是Python語言的單元測試標準框架;Test::Unit則控制了整個Ruby社區;Nunit是用C#完成的,為.Net平臺提供了開源的單元測試支持。

      TestNG(www.beust.com/testng)是近來興起的一個JUnit的替代品,吸引了很多開發者的注意,ParaSoft的Jtest(www.parasoft.com/jtest)是一個流行并且經濟的測試工具。在表格中把上述工具和JUnit進行了比較。

      在表格中,我們可以看到Jtest提供了額外的一些特性,而這些特性你可能會認為只有那些比開源軟件大100倍的商業軟件才能擁有。不管怎樣,這寫額外的特性反映了一些不同的理念。本質上,JUnit是一個很簡單的類庫。事實上,如果你愿意,你可以從頭開始寫。JUnit在設計的時候,被設計為只用來做一件事情,但是一定要做好它。這個理念和Unix的工具的理念非常類似:讓開發人員可以放入工具箱中,從而得到額外的功能。幾個常見的JUnit例子有:JTestCase (http://jtestcase.sourceforge.net)

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

    43/4<1234>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>