思想决定人生,态度改变一切

成功者找方法,失败者找借口! 做事先做人;安分做人,本分做事!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
以前做单元测试的时候一直都用Nunit,看着那些绿灯一个接一个的亮起来的感觉特别踏实,后来再照着大大们的提示,装上了TestDriven.NET,把它集成到IDE中来,用起来更方便了,但是日常工作繁重,能不能自动生成测试代码呢(虽然Nunit也有NUnitPartner之类,但总觉得不太好用),懒人的我开始把目光投到VSTS自带的测试框架上去,用后深感方便啊.

只要在需要进行单元测试的代码上右击点"创建单元测试",在点选测试的内容就可以了,如图:
单击显示全图,Ctrl+滚轮缩放图片


当然也可以对生成的代码做一点小设置,例如是把测试否标记为无结论等等,如图:
单击显示全图,Ctrl+滚轮缩放图片


下面是一个测试用例的代码:
复制  保存
/// <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);
}

都很方便,测试运行查看结果同样方便,如图:
单击显示全图,Ctrl+滚轮缩放图片


天小试了一把,以后看来可以深入研究一下这个框架提供其他测试项目:)

在MSDN找到一篇更详细的介绍 :)
http://msdn2.microsoft.com/zh-cn/library/ms364064(vs.80).aspx

原文出处:http://www.chenjiliang.com/Article/View.aspx?ArticleID=4451&TypeID=73
posted on 2008-01-16 23:10  投石问路  阅读(324)  评论(0编辑  收藏  举报