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

    VS2008单元测试

    2010-04-23 21:02:17|  分类: c#学习入门 阅读627 评论0   字号: 订阅

    调试是解决错误的过程,测试是发现软件缺陷的过程。每一个软件在交付使用时前都必须经过测试。软件测试是软件开发的重要组成部分,现在已经发展成专门的技术。

    在消除了程序中的语法错误和运行错误后,程序仍然不能保证完全正确,程序员可以进行简单的单元测试,来确定基本功能是否完善,复杂的测试由专业人员进行。什么是单元测试呢?

    单元测试是测试隔离的单元或模块,对各种方法分别使用不同的输入和执行参数来测试。单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。VS2008将单元测试工具集成在IDE中,方便程序员使用。

    1.新建一个类库项目,并为其中的类添加一个方法,方法任意

    2009-05-24_164830

    创建单元测试。在方法名上右击,然后单击“创建单元测试”选项,打开“创建单元测试”对话框2009-05-24_164944

    选择方法

    2009-05-24_164958

    为新建项目命名

    2009-05-24_165031

    然后在解决方案管理中就多了相应的Test Project和一个叫Solution Items的解决方案文件夹。

    相关的文件作用如下:

    localtestrun.testrunconfig        本地测试运行配置文件;

    MySchoolPro.vsmdi                 测试管理文件;

    AuthoringTest.txt                   提供创建测试的说明,包括向项目增加其他测试的说明;

    XXXXTest.cs                          包含测试对象对应的测试方法,以及测试初始化和测试清除的方法.

    修改输入参数,及对比参数,还可以设置判定方法的条件

    2009-05-24_165334

    打开测试菜单-》窗口-》测试试图

    2009-05-24_171602

    在测试试图,右键运行要测试的方法,在测试结果窗口中查看测试结果

    2009-05-24_165222

    常用 Assert(判定)对象的方法:

    Assert.AreEqual
    测试指定的值是否相等;如果两个值不相等,则测试失败。

    Assert.AreNotEqual
    测试指定的值是否不相等;如果两个值相等,则测试失败。
    Assert.AreSame
    测试指定的对象是否都引用相同的对象;如果两个输入内容引用不同的对象,则测试失败。
    Assert.AreNotSame
    测试指定的对象是否引用不同的对象;如果两个输入内容引用相同的对象,则测试失败。
    Assert.Fail
    断言失败。

    Assert.Inconclusive
    表示无法证明为 true 或 false 的测试结果。
    Assert.IsTrue
    测试指定的条件是否为 true;如果该条件为 false,则测试失败。
    Assert.IsFalse
    测试指定的条件是否为 false;如果该条件为 true,则测试失败。
    Assert.IsNull
    测试指定的对象是否为 空引用(在 Visual Basic 中为 Nothing);如果它不为空,则测试失败。
    Assert.IsNotNull
    测试指定的对象是否为非空;如果它为 空引用(在 Visual Basic 中为 Nothing),则测试失败。

    另外,代码覆盖率也是一个重要的指标,是指单元测试运行时,覆盖了多少代码。VSTS默认是没有打开代码覆盖率的。Team Test 包含了一个代码覆盖工具,可以详细解释被执行代码的覆盖率,并突出显示哪些代码被执行,哪些代码没有被执行。既然这个是我们这次第一次入门,就不详细介绍了。

  • 相关阅读:
    反转链表 16
    CodeForces 701A Cards
    hdu 1087 Super Jumping! Jumping! Jumping!(动态规划)
    hdu 1241 Oil Deposits(水一发,自我的DFS)
    CodeForces 703B(容斥定理)
    poj 1067 取石子游戏(威佐夫博奕(Wythoff Game))
    ACM 马拦过河卒(动态规划)
    hdu 1005 Number Sequence
    51nod 1170 1770 数数字(数学技巧)
    hdu 2160 母猪的故事(睡前随机水一发)(斐波那契数列)
  • 原文地址:https://www.cnblogs.com/encounter/p/2188784.html
Copyright © 2011-2022 走看看