vs2008单元测试
调试是解决错误的过程,测试是发现软件缺陷的过程。每一个软件在交付使用时前都必须经过测试。软件测试是软件开发的重要组成部分,现在已经发展成专门的技术。
在消除了程序中的语法错误和运行错误后,程序仍然不能保证完全正确,程序员可以进行简单的单元测试,来确定基本功能是否完善,复杂的测试由专业人员进行。什么是单元测试呢?
单元测试是测试隔离的单元或模块,对各种方法分别使用不同的输入和执行参数来测试。单元测试的依据是详细设计描述,单元测试应对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误。单元测试多采用白盒测试技术,系统内多个模块可以并行地进行测试。VS2008将单元测试工具集成在IDE中,方便程序员使用。
1.新建一个类库项目,并为其中的类添加一个方法,方法任意
![]()
创建单元测试。在方法名上右击,然后单击“创建单元测试”选项,打开“创建单元测试”对话框![]()
选择方法
![]()
为新建项目命名
![]()
然后在解决方案管理中就多了相应的Test Project和一个叫Solution Items的解决方案文件夹。
相关的文件作用如下:
localtestrun.testrunconfig 本地测试运行配置文件;
MySchoolPro.vsmdi 测试管理文件;
AuthoringTest.txt 提供创建测试的说明,包括向项目增加其他测试的说明;
XXXXTest.cs 包含测试对象对应的测试方法,以及测试初始化和测试清除的方法.
修改输入参数,及对比参数,还可以设置判定方法的条件
![]()
打开测试菜单-》窗口-》测试试图
![]()
在测试试图,右键运行要测试的方法,在测试结果窗口中查看测试结果
![]()
常用 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 包含了一个代码覆盖工具,可以详细解释被执行代码的覆盖率,并突出显示哪些代码被执行,哪些代码没有被执行。既然这个是我们这次第一次入门,就不详细介绍了。
vs2008单元测试的更多相关文章
- 使用 Visual Studio Team Test 进行单元测试和java中的测试
C#中test测试地 方法一. 1.从NUnit官网(http://www.nunit.org/index.php)下载最新版本NUnit,当前版本为NUnit2.5.8. 2.安装后,在VS2008 ...
- 为WPF项目创建单元测试
原文作者: 周银辉 来源: 博客园 原文地址:http://www.cnblogs.com/zhouyinhui/archive/2007/09/30/911522.html 可能你已发现一个问题, ...
- Visual Studio 单元测试之三---压力测试
原文:Visual Studio 单元测试之三---压力测试 我们都知道大名鼎鼎的LoadRuner,但是很少有人知道Visual Studio自带的Test也可以做些简单的压力测试,下面我们就介绍一 ...
- asp.net单元测试及查看代码覆盖率详细示例
在vs2008中创建单元测试 一,打开vs2008,创建一个类库VSTSDemo.因为我在学习的时候用的就是vs2008,其它版本的vs,方法应该差不多,大家自己研究吧 :) 删除掉默认生成的类,然后 ...
- 使用VS2008进行WEB负载测试
软件测试中使用VS2008进行WEB负载测试 最近接触关于多线程的软件测试,所以对vs2005里的测试开始感兴趣,今天学习试用了一下,记下所获得的. vs 测试分“WEB测试”,“单元测试”,“负载测 ...
- Atitit. visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.doc
Atitit. visual studio vs2003 vs2005 vs2008 VS2010 vs2012 vs2015新特性 新功能.doc 1.1. Visual Studio2 1.2. ...
- Intellij idea添加单元测试工具
1.idea 版本是14.0.0 ,默认带有Junit,但是不能自动生成单元测试,需要下载JunitGererator2.0插件 2.Settings -Plugins,下载 JunitGenerat ...
- Python的单元测试(二)
title: Python的单元测试(二) date: 2015-03-04 19:08:20 categories: Python tags: [Python,单元测试] --- 在Python的单 ...
- Python的单元测试(一)
title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] -- ...
随机推荐
- Python1 简介及安装、基础
Python介绍 Python是面向对象,高级语言,解释,动态和多用途编程语言.Python易于学习,而且功能强大,功能多样的脚本语言使其对应用程序开发具有吸引力. Python的语法和动态类型具有其 ...
- vue 之webpack打包工具的使用
一.什么是webpack? webpack是一个模块打包工具.用vue项目来举例:浏览器它是只认识js,不认识vue的.而我们写的代码后缀大多是.vue的,在每个.vue文件中都可能html.js.c ...
- 《剑指offer》顺时针打印矩阵
本题来自<剑指offer> 顺时针打印矩阵 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 1 ...
- AppServ安装到一半卡住的问题
今天在笔记本安装AppServ的时候,运行到Installing mysql service时就卡住不动了,因为之前在自己的台式电脑安装过AppServ,当时是一步成功的,所以觉得这个问题莫名其妙,因 ...
- Python实现switch效果
Java中有switch这个东东有的地方使用switch感觉还挺好使,但是Python没有提供switch这个东东,下面我们想办法来完成类似Java和C里面的那种switch效果. Java示例代码: ...
- C++ GetModuleFileName()
关于GetModuleFileName function,参考:https://msdn.microsoft.com/en-us/library/windows/desktop/ms683197(v= ...
- python提取文件中的方法名称
#提取文件中的方法名称 # -*- coding:utf-8 -*- def Query_Method(filepath): file = open(filepath,'r',encoding= 'U ...
- 分库分表之后全局id怎么生成
数据库自增id: 这个就是说你的系统里每次得到一个id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个数据库自增的一个id.拿到这个id之后再往对应的分库分表里去写入. 这个方案的好 ...
- 修改Elasticsearch的settings
解决:Limit of total fields [1000] in index [nginx-access-log] has been exceeded" 的问题 PUT http://1 ...
- poj2398
题解: 计算几何入门题 对每个二分最近的在它右边的杆子 如何判断一个杆子在它右边呢 计算机判断这些要更善于利用点积和叉积 如果叉积为正代表在顺时针方向叉积为负在逆时针 发现要在struct里面重载运算 ...