以前做單元測試的時候一直都用Nunit,看著那些綠燈一個接一個的亮起來的感覺特別踏實,後來再照著大大們的提示,裝上了TestDriven.Net,把它集成到IDE中來,用起來更方便了,但是日常工作繁重,能不能自動生成測試代碼呢(雖然Nunit也有NUnitPartner之類,但總覺得不太好用),懶人的我開始把目光投到VSTS自帶的測試框架上去,用後深感方便啊.
只要在需要進行單元測試的代碼上右擊點"創建單元測試",在點選測試的內容就可以了,如圖:
當然也可以對生成的代碼做一點小設置,例如是把測試否標記為無結論等等,如圖:
下面是一個測試用例的代碼:
/**//// <summary>
///IsZero 的測試
///</summary>
[TestMethod()]
public void IsZeroTest()
...{
int amount = 0; // TODO: 初始化為適當的值
string currency = string.Empty; // TODO: 初始化為適當的值
UnitMoney.Money target = new UnitMoney.Money(amount, currency); // TODO: 初始化為適當的值
bool actual;
actual = target.IsZero;
Assert.Inconclusive("驗證此測試方法的正確性。");
}
每個參數都給你初始化了,只要簡單的修改就可以運行測試,這個測試框架的方法和Nunit相當相似,上手很方便.
例如上面測試代碼我們大可以改寫成:
/**//// <summary>
///IsZero 的測試
///</summary>
[TestMethod()]
public void IsZeroTest()
...{
int amount = 1; // TODO: 初始化為適當的值
string currency = "CHF"; // TODO: 初始化為適當的值
Money target = new Money(amount, currency); // TODO: 初始化為適當的值
bool actual;
actual = target.IsZero;
Assert.IsTrue(actual);
}
或者:
/**//// <summary>
///IsZero 的測試
///</summary>
[TestMethod()]
public void IsZeroTest1()
...{
Assert.IsTrue(new Money(0, "CHF").IsZero);
}
都很方便,測試運行查看結果同樣方便,如圖:
今天小試了一把,以後看來可以深入研究一下這個框架提供其他測試項目:)