zoukankan      html  css  js  c++  java
  • .NET单元测试

    以类作为测试的最小单元,以方法的内部结构作为测试的重点。

    实际例子
    A。新建一个类GetNum.cs,添加返回最大值的方法。public int GetMaxNum(int[] aryNum){...}
    B。在GetMaxNum方法上右键,选择“创建单元测试”。弹出窗口默认选中了当前的方法,输出项目中选择“创建新的visual C#测试项目”。设置中可以设置生成的文件名、类名和方法名。确定后要求输入测试项目名称,再次确定后生成测试项目。
    C。在GetNumTest.cs中找到GetMaxNumTest()方法。初始化aryNum的值,如 int[] aryNum = {1,2,3}; 所以expected应该设为3。最后把Assert.Inconclusive(...)这句注释掉,运行后显示结果为“通过”。
    :一些数据库的插入方法,成功插入后可以先返回一个特定字符,如“OOKK”,用来设定expected的值。


    单元测试中常用的“断言方法”:
    Assert.AreEqual() 测试指定的值是否相等,如果相等,则测试通过;
    Assert.Inconclusive() 表示一个未验证的测试;
    Assert.IsTrue() 测试指定的条件是否为True,如果为True,则测试通过;
    Assert.IsFalse() 测试指定的条件是否为False,如果为False,则测试通过;
    Assert.IsNull() 测试指定的对象是否为空引用,如果为空,则测试通过;
    Assert.IsNotNull() 测试指定的对象是否为非空,如果不为空,则测试通过;

    关于数据库
    :如果测试需要和数据库打交道,并且数据库的连接字符串是从配置文件中读取的,那么我们需要在测试项目中添加新项“应用程序配置文件”(App.config),把连接字符串加进去。

    代码覆盖
    代码覆盖是指单元测试运行时,覆盖了多少代码,是单元测试的一个关键指标。
    Team Test 包含了一个代码覆盖工具,可以详细解释被执行代码的覆盖率,并突出显示哪些代码被执行,哪些代码没有被执行。

    注意,VSTS 在生成单元测试框架时,默认没有启用“代码覆盖”功能。启用此功能的办法:在解决方案中双击“localtestrun.testrunconfig”文件,在弹出的对话框窗口的左侧选择“代码覆盖率”,然后在右侧的“要检测的项目”中选择要检测的项目,“应用”。
    当我们启用了代码覆盖功能后,再次运行单元测试。在“测试结果”中右键选择“代码覆盖率结果”,在新的结果窗口中可展开相应的层次结构,查看代码的覆盖率。

  • 相关阅读:
    vs2015帮助文档
    算法之冒泡排序
    c++ 离散数学 群的相关判断及求解
    Entity Framwork(EF) 7——在现在数据库的甚而上开发MVC 新项目
    ASP.NET MVC 5 一 入门
    c# winform TreeView NODE(节点) 重命名或获取节点修改后的值
    xml 中转意字符&/使用方法
    entityframework 入门-来自微软
    c# 利用 两个TREEVIEW控件完成TEENODE的鼠标拖动操作
    Winform开发框架中实现多种数据库类型切换以及分拆数据库的支持
  • 原文地址:https://www.cnblogs.com/vipcjob/p/1543499.html
Copyright © 2011-2022 走看看