·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> VS2010下单元测试

VS2010下单元测试

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23
1.创建单元测试项目       2.创建完成后,新建项目会自动添加“Microsoft.VisualStudio.QualityTools.UnitTestFramework”的引用,该引用用于单元测试       3.新建项目中自动生成一个默认测试文件“UnitTest1.cs”,内容如下图   [TestClass]:为表示该类为测试类。 [TestMethod]:为测试方法,如测试类下有多个测试方法,开始执行测试用例时,自上往下挨个执行测试方法。     4.添加自己的测试方法,并使用测试类自带的断言方法“Assert.AreEqual(expected, actual); ”,用于比对结果是否正确。 expected:为预期结果 actual:为真实结果     5.开始执行测试用例   执行测试用例有三种方式:
  1. 将测试用例项目设置为启动项,和平常项目启动是一样的,F5启动,可以在测试用例方法出加个断点,方便查看
  2. 在测试用例方法出右键“运行测试”,如下图:

    也可以使用vs2010顶部菜单栏下的“测试”按钮进行运行或调试。

    运行结果:会提示是否成功,和失败原因

    现在将expected结果设置为3,运行成功如下图:

    将expected结果设置为1,运行失败如下图

    如VS2010上安装Reshape,右键出现“Run Unit Tests”和“Debug Unit Tests”按钮。分别表示,执行测试用例,和debug下执行测试用例。
    使用Reshape的测试用例启动按钮,有一个好处是可以使用Debug模式,如测试项目不是启动项,那这个功能尤为重要了。

    运行结果:
    预期只为1

    预期值为3
 

附加测试属性

"附加测试属性"。默认都是被注释掉的,只要我们取消注释就可以使用了。这个功能的加入,很大程度上是为了增加测试的灵活性。具体的属性有:

[ClassInitialize()]在运行类的第一个测试前先运行代码(使用该属性的方法,必须是参数为TestContext的带参方法)

[ClassCleanup()]在运行完类中的所有测试后再运行代码

[TestInitialize()]在运行每个测试前先运行代码

[TestCleanup()]在运行完每个测试后运行代码

如在执行测试时,将测试执行时间输入到日志中,代码如下