使用VSTS进行单元测试

发表于:2009-04-08来源:作者:点击数: 标签:单元VSTSvsts
以前做 单元测试 的时候一直都用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