zoukankan      html  css  js  c++  java
  • VS 2010下单元测试

    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()]在运行完每个测试后运行代码

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

  • 相关阅读:
    今天是元旦啊
    [待解决]python 函数加括号和不加括号的区别
    Jupyter Notebook的快捷键列表误操作发现的新大陆
    Series选择和过滤
    做鸢尾花切片练习中的'&'问题:(&,|)和(and,or)
    报错合集
    关于随机数种子seed的问题尽量使用numpy下的seed
    pandas创建Series序列/hashable
    在jupyter notebook中插入截图
    xml反序列化时,如何生成与之对应的类文件
  • 原文地址:https://www.cnblogs.com/xjt927/p/4018126.html
Copyright © 2011-2022 走看看