使用VSTS进行单元测试
以前做 单元测试 的时候一直都用Nunit,看着那些绿灯一个接一个的亮起来的感觉特别踏实,后来再照着大大们的提示,装上了TestDriven. NET ,把它集成到IDE中来,用起来更方便了,但是日常工作繁重,能不能自动生成测试代码呢(虽然Nunit也有NUnitPartner之类,但总觉
以前做
单元测试的时候一直都用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);
}
都很方便,测试运行查看结果同样方便,如图:
今天小试了一把,以后看来可以深入研究一下这个框架提供其他测试项目:)
原文转自:http://www.ltesting.net