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

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

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

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

    強化Visual Studio 單元測試

    發布: 2010-6-11 10:04 | 作者: 不詳 | 來源: 領測國際采編 | 查看: 82次 | 進入軟件測試論壇討論

    領測軟件測試網

      這個問題出現在MSBuild.EXE中,滋生于某個事件,這個事件就是VSPERFMON.EXE從帶有bInheritHandles標記的 VSPERFCMD.EXE進程中產生到CreateProcess,并且設置為“真”。任何帶有繼承句柄開始的進程將在MSBuild.EXE下掛起。因此,我必須在任務中從ITask.Execute方法調用Process.Start,通過這樣操作才能使MSBuild.EXE下的所有事情正常運行。

      與GenericTest和EXEs一起合作

      如果你已經獲得一個基于EXE程序的存在的測試系統,在文檔中GenericTest類型的論述可能傷害您的好奇心。當在一個依賴運行九個EXE作為單元測試的批處理文件的項目上進行工作時,我可以使用GenericTest類型快速的包裝一些自動化過程中存在的代碼。雖然這也有一些catch。第一個小的障礙就是GenericTest允許0作為一個成功的來自EXE的返回值。那并不是一個很大的處理,但是考慮到GenericTest的高級特性,我很沮喪的看到與可接受的退出代碼區域一樣簡單的事情被遺漏了。

      GenericTest的一個比較大的問題就是它是hardcoding的一個堡壘。幸運地,可以容易地指出相對路徑地文治。如果你地 GenericTest存在C:\FOO中,事實上測試將從C:\FOO\TestResults\_< Machine>_\Out開始。這樣,如果被GenericTest執行地EXE文件在C:\FOO中,你可以使用./././.EXE作為程序來執行。不幸地是,幾乎GenericTest中地其他事情從驅動器中被硬編碼。有趣地是外部目錄就是你地二進制每次運行時被復制到地地方。即使你改變了代碼,你可以重新運行測試地以前版本以重新生成問題。

      一個便利地特性,GenericTest類型將捕獲定位到標準輸出地任何事情,在結果文件中提供一個運行日志。不幸的是,這看上去像是一個捕獲的問題,在那提取一些信息將導致測試驅動進程掛起。但是大部分測試程序在幾秒中內不會抽空輸出結果中的100行。

      創建單元測試

      當提到測試,Visual Studio真正的魔力就是當你在編輯器里右擊一個方法時,它可以奇妙的創建你得到的單元測試選項。這個特性非常好,可以很容易的快速添加單元測試。但是,我遇到了一個小的哲學問題,它讓你創建可以直接進入類并且訪問私有方法的單元測試。

      針對允許測試工具直接調用私有的或受保護的方法的爭論就是它減化了測試(只寫很少的代碼),并且幫助擴寬了代碼覆蓋。這些爭論是很誘人的,但是我同意這個觀點,就是認為單元測試應該僅僅通過公共接口出現。單元測試是代碼的首次使用,你想朝著其他的怎么使用它的方向來調整測試。如果有一些私有方法,這些方法你在沒有short circuiting和直接的調用它們的情況下不能充分的測試,我必須知道是否代碼需要被注冊。為了阻止偶然的創建一個直接調用私有方法的單元測試,找到創建單元測試對話框,在右上角點擊過濾,然后清空顯示非公共項目。

      我決不是一個絕對論者。我確定有一些示例,在示例里面它將幫助調用私有方法。但是,僅因為工具允許你做一些事情并不意味著你將依賴它。單元測試是測試的第一階段,它也是你開始white box測試的第一個位置。

      使用NUnit

      我有一些項目,在項目中我們已經在一個擴充NUint的測試系統做出了很大投資。(對.NET Framework 2.0起作用的新版本即將被發布)在一個示例中,我們想要代碼在NUnit和Visual Studio測試系統之間是便攜式的。當計劃這個時,我偶然發現很酷的一些事情,那就是需要最少的代碼改變,并且允許代碼與NUnit和Visual Studio一起工作。

      我有一些項目,在項目中我們已經在一個擴充NUint的測試系統做出了很大投資。(對.NET Framework 2.0起作用的新版本即將被發布)在一個示例中,我們想要代碼在NUnit和Visual Studio測試系統之間是便攜式的。當計劃這個時,我偶然發現很酷的一些事情,那就是需要最少的代碼改變,并且允許代碼與NUnit和Visual Studio一起工作。

    延伸閱讀

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

    52/5<12345>

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