看到一篇好文章《基於vs2012 fakes框架的tdd實戰——介面模擬》,順便學習下vs2012的單元測試,做了以下筆記和大家分享。vs 2012 我想最大的改變就是 可以支援各種不同的 unit test framework 以及 內建 fake 機制,以前若是想要在 vs 中整合介面和 team build 就變成一定要用 ms test framework
現在您可以在您的專案當中自行選擇 nunit 或是 xunit 之類的套件.
而且這次的測試資源管理器也完全以」資訊為主」,可以在乙個地方呈現最重要的資訊而不需要再一直切換介面。
測試清單 以及 執行 單元測試的時間 ,這對於我們來說已經是很足夠了,可以看到 全新增加了測試資源管理器全部執行後會「自動查詢」出符合要測試的專案,並且預設以「錯誤」為主的清單來呈現 ( 因為有錯誤才需要我們來看,沒有錯的話就不用理它們啦 ),點選專案後也不會再像以前會另外開新的頁面,現在則是直接在下面的列出資訊,以前只會跟你講說 單元測試用例那一行掛掉,現在就直接跟您說是那一行掛掉。看到這裡是不是很貼心?點兩下就搞定!不用再自已進去找了。
當我們習慣了單元測試之後,你不由自主地就會執行一下看看有沒有錯誤,但 單元測試增加到上百個的時候,你就不會想要每次改乙個小地方都全部重新測試,因為這實在是沒有什麼太大的意義,而且也是浪費自已的時間。在 vs 2010 中就只會幫你勾選測試失敗的清單,但說真的,畢竟不太簡單了,這次變更成幾個選項,可以讓我們依不同的情況來選擇適合的測試清單。而且這有個非常大的好處就是可以讓我們 聚焦在已知的錯誤中。另外,分析程式**涵蓋範圍的機制也有改變了,變成要執行分析後才會真正開始做,重點是也不需去做任何的配置 ( vs 2010 要先配置好才會正常執行),如果想要每次編譯後就自動執行單元測試,那麼請開啟「run tests after build」這個選項。
接下來只要編譯完成後就會自動執行單元測試。
vs 2012 內建了 fake 機制 ,簡單來說就是可以用假的資料,替換掉 某乙個 method 回傳的值, 而且vs 2012 除了自定義的 class 外,也可以產生 .net framework 的 fake class 。詳細內容請參考《基於vs2012 fakes框架的tdd實戰——介面模擬》。
在 vs 2010 以前都會分別產生負責測試的 vsmdi 和 測試相關設定的 testrunconfig 檔案,大家都知道 vs 2012 這次就算公升級後,也是可以讓 vs 2010 (sp1)同時編輯的。雖然這兩個檔案在這次 vs 2012 中就用不到了,但如果您想要讓 vs 2010(sp1) 也可以編輯的話,這兩個檔案就請保留著,就可以讓 vs 2010 專案中持續地做單元測試,但是您用了 nunit 、xunit 這種非 ms unit test framework 的話,在 vs 2010 是不能直接用的哦。
在 test result 中也和以前不太一樣了,除了原本的 test result 目錄外,還增加了 ute test db。
VS2012 單元測試
開發環境 win7 x64,vs2012 x64,oracle11g x64 在使用visual studio 2012 做單元測試的時候,引用了 oracle.dataaccess,version 2.112.1.0 程式集 執行測試時丟擲異常 system.badimageformatexcep...
VS 2012 單元測試簡單配置
寫演算法時大多依靠簡單輸入驗證,經常遇到小範圍輸入正常,大範圍或特殊情況輸入結果錯誤的問題。所以寫程式之前最好先想好幾個特殊用例來測試,以驗證演算法是否正確。單元測試就是個不錯的工具,而vs 2012提供了很方便的單元測試功能。首先建立需要測試的c 專案,如果已有專案,可以跳過這個步驟。然後新建兩個...
VS 2012 單元測試簡單配置
寫演算法時大多依靠簡單輸入驗證,經常遇到小範圍輸入正常,大範圍或特殊情況輸入結果錯誤的問題。所以寫程式之前最好先想好幾個特殊用例來測試,以驗證演算法是否正確。單元測試就是個不錯的工具,而vs 2012提供了很方便的單元測試功能。首先建立需要測試的c 專案,如果已有專案,可以跳過這個步驟。然後新建兩個...