使用指令碼運行VisualStudio測試代碼

來源:互聯網
上載者:User

   前面寫了一篇文章講如何用VisualStudio來進行白盒測試,請看我前面的文章:

   利用VisualStudio白盒測試入門

   它會有問題。它會產生一個*.trx的結果檔案,裡面記錄了運行測試方法的一些結果資訊和日誌資訊,假如我們向TRX檔案中寫入大量日誌,那麼TRX檔案就沒法儲存到硬碟上了。我試過,只要TRX檔案好像最大就沒超過10M吧。

   而我們的項目卻必須要用TRX檔案,要分析TRX檔案來自動的向資料庫Log Result,以此來表明運行了一次測試。我總不能每次都跑幾個測試方法吧,那麼就必須守在電腦前,不斷的選測試方法執行,等待執行完畢,再重複的選測試方法,執行…..
   崩潰了,這根本沒體現出自動化測試的優勢啊。
  恩,研究下,看有辦法能讓機器自動執行嗎,於是找啊找,總算找到方法了。
   在VS安裝目錄下會有一個MSTest.exe程式,例如我的機器上,該程式的位置是:C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/mstest.exe
   利用該程式,我們就可以不用啟動Visual Studio,用指令碼就能執行TestMethod了。

   先看下MSTest的Help吧,:

 

MSDN:MSTest.exe Command-Line Options

 

   在我們的VS測試工程目錄下,會有一個尾碼名為*.vsmdi的檔案,他是一個XML檔案,裡面描述了該項目的測試方法及其結構關係。將該檔案拷貝到測試專案的輸出目錄下,與測試專案產生的dll在一起。然後在命令列中執行如下命令

C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/mstest.exe /testmetadata:TestProject1.vsmdi /test:TestMethod1 /test:TestMethod2

 

    過一段時間,可以看到執行了2個測試方法,同理,如果要執行其他的測試方法,就在命令列後加上/test:測試方法名就Ok 了。

 

   但是這個方法很不方便,假如我們有成千上萬個TestMethod,難道要一個一個加嗎?累都累死了。這時我們加入的New Test List就起作用了。 我們可以執行以下命令:

C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/mstest.exe /testmetadata: TestProject1.vsmdi /testlist: Math

這樣就能把屬於Math的所有TestMethod都運行了。

 

另一種根據DLL運行Test Method:
"C:/Program Files/Microsoft Visual Studio 8/Common7/IDE/mstest.exe" /resultsfile:c:/TesResult.trx /testcontainer:c:/TestProject1.dll /test:TestMethod1 /unique

 

    呵呵,有了這個命令列方法,我們就能將其寫如BAT指令檔。想象一下,假如我們的測試比較規範的話,我們就可以在開發時做到每日下班後自動build code,然後自動運行一下測試專案,第二天早上就能知道daily build的大致情況。或者發布版本之前,先用程式自動化的測試一下看有什麼明顯的Bug沒,然後再交由測試人員測試。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.