• <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的多線程測試

    發布: 2009-3-30 12:24 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 38次 | 進入軟件測試論壇討論

    領測軟件測試網

    testExampleThread()方法實際上稱不上是一個測試方法,實際上,你想使測試自動化,并且不想把檢查結果輸出到控制臺,但是,這里卻是這樣的,因此,這一點示范了Junit是不支持多線程的。
    注意:testExampleThread()方法執行三項任務:
    1、 打印“Hello,World”;
    2、 初始化并起動一個支持打印“Delayed Hello World.”線程;
    3、 打印“Goodbye,World”。

        如果你運行這個測試類,你會注意到一些錯誤。TextHellWorld()方法像你期望的那樣運行和結束。它沒有發出任何有關線程的異常,但是你卻不會接受到來自線程的返回信息。注意,你不會看到“Delayed Hello World”。為什么?因為線程還在激活狀態的時候,Junit已經執行完成。問題發生在下面這行,使線程執行結束的時候,你的測試不能反映出它的執行結果。這個問題行是在Junit的TestRunner中。它沒有被設計成搜尋Runnable實例,并且等待這些線程發出報告,它只是執行它們并且忽略了它們的存在。因為這個原因,幾乎不可能在Junit中編寫和維護多線程的單元測試。

    進入GroboUtils

        GroboUtils是Matt Albrecht編寫的一個開源項目,它的目標是擴展Java的測試可能性。GroboUtils被發布在MIT許可下,這使它可以很友好的包含到其它的開源項目中。

    Grobo TestingJUnit 子項目

        GroboUtils被列入與同類測試方面有關的試驗的子項目。這篇文章的焦點集中在Grobo TestingJUnit 子項目,它為Junit引入了一個支持多線程測試的擴展類庫。(這個子項目還引入了集成測試和嚴重錯誤的概念,但是這些特征超出了這篇文章所討論的范圍。)

        在GroboTestingJUnit子項目內是BroboTestingJUnit-1.1.0-core.jar類庫,它包含了MultiThreadedTestRunner和TestRunnable類,這兩個類是對Junit進行擴展處理多線程測試所必須的。

    TestRunnable類

        TestRunnalbe類擴展了junit.framework.Assert類并且實現了java.lang.Runnable接口。你可以在你的測試類內定義TestRunnable對象做為內隱類。雖然,傳統的線程類實現一個run()方法,但是你的嵌套TestRunnable類必須實現runTest()方法來替代run()方法。這個方法將被MultiThreadedTestRunner類在運行時調用,因此你不應該在構造器中調用它。

    MultiThreadedTestRunner類

        MultiThreadedTestRunner是一個允許把異步運行的線程數組放入Junit內一個框架。這個類在它的構造器中接受一個TestRunnable實例的數組做為參數。一旦建立了這個類的一個實例,它的runTestRunnables()方法就應該被調用開始執行線程測試。

        和標準的JunitTestRunner不一樣,MultiThreadedTestRunner將等待,直到所有的線程執行終止退出。這樣就強制Junit在線程執行任務的時候進行等待,從而巧妙的解決了我們前面提出的問題。讓我們來看一下GroboUtils和Junit是怎樣集成的。

    編寫多線程測試

       

    延伸閱讀

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

    43/4<1234>

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