標籤:
本文主要介紹Visual Studio(2012+)單元測試架構的一些技巧:
- 測試覆蓋率的統計
- 測試分組
- 測試Setup/TearDown
- 測試調試
- Exception測試
程式碼涵蓋範圍的統計
VS下面可以通過下面的方式進行統計:
上面選擇AllTests(當然可以選擇幾個或者幾組case單獨運行程式碼涵蓋範圍) 就統計當前Solution下面的所有case的程式碼涵蓋範圍,統計程式碼涵蓋範圍其實VS會重新跑一遍所有的case。最終如下:
可以很清楚的看到每一個類,每一個方法的程式碼涵蓋範圍,如果程式碼涵蓋範圍不是100%,可以點擊方法,就能查看那些代碼沒有被覆蓋,如:
測試分組
:
就是加一個TestCategory attribute,如果case比較多,建議按照業務或者自己的邏輯對case進行分類,這樣後期代碼修改,可以按照業務只運行部分case。比較方便。
測試Setup/TearDown
Setup/TearDown好像是Nunit的屬性名稱字。VS裡面叫法稍微不同,主要是希望在每一個case運行前/運行後執行相關的邏輯。比如在Setup裡面可以初始化部分資料,TearDown裡面進行資料清理。
測試調試
調試就更加簡單了。打斷點。。然後調試。
Exception測試
經常程式會根據業務Throw 合理的Exception。這種合理Exception應該怎麼測試呢。VS裡面也是通過Attribute來實現的。
業務代碼:
public class ExceptionDemo { public static void ThrowArgumentNullException() { throw new ArgumentNullException(); } }
測試代碼:
上面的兩個Case,第一個PASS。第二個Fail。
上面的這些小技巧Nunit好像都有(Code coverage除外)。用過Nunit的童鞋這些應該不陌生。
一些簡單的心得,拋磚引玉。
Unit Test Via Visual Studio-Part3