VS2010中的单元测试
Visual Studio 2010 单元测试使用

Visual Studio 2010 单元测试之一---普通单元测试本文以Visual Studio 2010为例,来介绍如何在Visual Studio里面进行单元测试.首先来介绍普通单元测试,这是进行顺序测试、压力测试的基础。
如果在Visual Studio 2010(2008)里面没有发现下图中的Test菜单,请用Visual Studio安装光盘进行安装,因为Visual Studio单元测试插件安装时可能不是默认选项。
测试之前,我们要准备一些测试代码。
或者从下面的链接下载完整的项目工程。
/source/3014236新建一个名为AppSample的Lib。
里面有一个MathUtility文件,包含加减乘除四个方法。
代码如下:namespace TJVictor.UT.AppSample{public class MathUtility{public MathUtility() { }public static int Add(int a, int b){return a + b;}public static int Minus(int a, int b){return a - b;}public static int Divide(int a, int b){return a / b;}public static int Multiply(int a, int b){return a * b;}}}创建单元测试项目有两种方法:1.直接创建单元测试项目:File->New->Project->Test Project. 如下图:2. 直接在需要创建单元测试的函数上创建:右击函数名->Create Unit Tests。
如下图这样就创建好了单元测试项目。
Visual Studio 会自动生成一个单元测试工程。
推荐使用第二种方法创建,因为第一种方法创建的只有单元测试工程,第二种方法会把单元测试函数也一起创建了出来。
使用Visual Studio进行C++单元测试(一))

使用Visual Studio进行C++单元测试(一)什么是单元测试?单元测试(unit testing)在软件开发领域有着悠久的历史。
在大多数有关单元测试的观念中都有这么一个共同的理念,即它们由一组独立的测试构成,其中每个测试针对一个单独的软件组件。
在过程式程序设计的代码中,“单元”一般来说指的就是函数,而在面向对象的代码中则指的是类。
而单元测试则做到了大型测试所不能做到的那些事情。
利用单元测试可以独立地对某一段代码进行测试。
我们可以将测试分组以便在某些特定条件下运行某些特定的测试,并在其他条件下运行另一些测试。
我们还可以迅速定位错误。
如果认为在某段代码中存在着一个错误而且又可以在测试用具中使用这段代码的话,我们通常能够迅速地编写出一段测试,看看我们所推测的错误是不是真的在那里。
1.1.1(一)关于单元测试的一些流行误解(反面即为单元测试的好处)1.单元测试是在浪费时间一旦编码完成,开发人员总是会迫切希望进行软件的集成工作,这样他们就能够看到实际的系统开始启动工作了。
这在外表上看来是一项明显的进步,而象单元测试这样的活动也许会被看作是通往这个阶段点的道路上的障碍,推迟了对整个系统进行联调这种真正有意思的工作启动的时间。
在这种开发步骤中,真实意义上的进步被外表上的进步取代了。
系统能够正常工作的可能性是很小的,更多的情况是充满了各式各样的Bug。
在实践中,这样一种开发步骤常常会导致这样的结果:软件甚至无法运行。
更进一步的结果是大量的时间将被花费在跟踪那些包含在独立单元里的简单的Bug上面,在个别情况下,这些Bug也许是琐碎和微不足道的,但是总的来说,他们会导致在软件集成为一个系统时增加额外的工期,而且当这个系统投入使用时也无法确保它能够可靠运行。
在实践工作中,进行了完整计划的单元测试和编写实际的代码所花费的精力大致上是相同的。
一旦完成了这些单元测试工作,很多Bug将被纠正,在确信他们手头拥有稳定可靠的部件的情况下,开发人员能够进行更高效的系统集成工作。
VS2010中的单元测试

Visual Studio 2010中的单元测试在VS中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行单元测试,并且支持数据驱动的单元测试。
一、建立单元测试项目1、建立要测试的实例:创建VC#模式下的控制台应用程序,工程名为calculator2、输入简单的加、减函数代码,如下图所示3、可按如下步骤建立单元测试(1)在代码区任意位置单击鼠标右键,在菜单中选择"创建单元测试",(2)在出现的"创建单元测试"界面中,勾上想要建立测试的方法,为这个方法创建单元测试代码的基本框架,单击确定按钮(3)点击确定后,在新建测试项目中,输入需要创建的单元测试的名称TestCal,然后单击"创建"按钮,则自动创建一个新的单元测试代码项目。
(4)在"解决档案资源管理器"中可以看到多了一个"TestCal"项目,可以看出"TestCal"项目引用了被测项目的程序集,和单元测试框架Microsoft.VisualStudio.QualityTools.UnitTestFrame,并且自动产生C#代码文件ProgramTest.cs(5)ProgramTest.cs的代码如下图所示,从图中可以看到,自动产生了一个"ProgramTest"类,并使用[TestClass()]标识为一个单元测试类,以及两个测试方法"AddTest"和“AddTest”。
并用[TestMethod()]标识。
(6)ProgramTest.cs代码文件详讲,下面以AddTest方法为例[TestMethod()]:说明了以下代码是一个测试用例Int a = 0; // TODO: 初始化为适当的值int b = 0; // TODO: 初始化为适当的值这两句是被测函数的输入参数,需要我们去修改它的值,也就是我们输入测试用例的地方。
VSC单元测试和代码覆盖率

VS2012 C++单元测试和代码覆盖率1VS2012下C++代码简单单元测试在网上关于VS2008 VS2010 VS2012的单元测试几乎都是关于C#的单元测试,我测试了一下,C#的单元测试确实好用,然而关于C++的单元测试很少,在这里我来简单的介绍一下步骤。
普通的工程关键步骤是要包含头文件和obj文件;如果是要测试静态库或者动态库,关键步骤是要包含头文件和lib文件。
1.1在VS2012中建立要测试的简单的工程在这里要测试的代码建立如下:新建一个“Win32控制台应用程序”,默认它的名称“ConsoleApplication1”,图表11新建“Win32控制台应用程序”图表12进入向导图表13进入向导2在“进入向导2”中选择“空项目”。
然后按“完成”。
然后添加头文件和源代码文件,文件目录如下:图表14简单代码目录结构下面是具体的代码://AddFunc.h#ifndef __ADD_FUNC_H__#define__ADD_FUNC_H__int AddFunc(int a, int b);#endif//AddFunc.cpp#include"AddFunc.h"int AddFunc(int a, int b){return a + b;}//MultiFunc.h#ifndef __MULTI_FUNC_H__#define__MULTI_FUNC_H__int MultiFunc(int a, int b); #endif//MultiFunc.cpp#include"MultiFunc.h"int MultiFunc(int a, int b) {return a * b;}//SubFunc.h#ifndef __SUB_FUNC_H__#define__SUB_FUNC_H__int SubFunc(int a, int b); #endif//SubFunc.cpp#include"SubFunc.h"int SubFunc(int a, int b) {return a - b;}//main.cpp#include"AddFunc.h"#include"SubFunc.h"#include"MultiFunc.h"int main(int argc, char* argv[]){return 0;}编译链接此工程,生成一系列的obj文件。
VS2010软件生命周期管理高级教程(测试人员)

第12章软件测试简介基于角色的测试工具:1、Visual Studio Test Professional 2010——Test Professional 产品的主要对象是专业测试人员,他们将会使用该工具编写、执行和管理手动测试。
2、Visual Studio 2010 Premium 和Visual Studio 2010 Ultimate——Visual Studio 2010 的Premium 和Ultimate 版本包含了为测试专家设计的工具。
12.2 测试类型一个成功的测试计划可能包含下列测试类型中的多种:1、手动测试——手动测试仅需要人与应用程序进行交互,已验证一些测试结果并报告测试是否成功。
2、手动测试(text/Word格式)——只是一个文档,其中包含测试人员应该执行的手动测试步骤。
3、可编码用户界面测试——一个可编码用户界面测试提供了如下功能:编写自动与应用程序用户界面交互的测试,验证一些测试结构,如发现错误则记录bug。
由于整个过程是自动的,因此可以非常频繁地执行且不需要人工干预,但通常比编写和维护一个手动测试的代价要高。
(更适合于验证功能和用户界面布局)(自动测试)4、单元测试——这是底层的测试,用于验证目标应用程序的代码功能是否与开发人员所期望的一致。
单元测试实际上是测试其他代码的代码。
(自动测试)5、数据库单元测试——Visual Studio 2010 还支持数据库代码单元测试的编写。
6、Web 性能测试——Web性能测试用于验证一个Web应用程序的功能或性能。
(更适合于验证性能和可伸缩性(用在负载测试内时))7、负载测试——这种测试用于验证目标应用程序是否能达到一定的强度要求。
它是通过反复执行各种测试而加大目标系统的强度。
8、泛型测试——这种测试可以启动对其他外部测试系统的调用,如第三方测试包中的现有测试集。
9、顺序测试——实质上是其他测试的容器,用于为这些测试确定执行顺序,而且可以多次包含相同的测试。
测试基础和单元测试在VS中的应用

单元测试给我们带来的好处
能最早发现问题,大大节省了后期测试的时间 保证代码的可维护性,强制让你对功能进行封装
感觉更安全。通过反复测试,你在添加新功能的时候不会影响已有功能
一种隐含的设计行为。迫使我们把程序设计成易于调用和可测试的,从而解 除软件中的耦合。
相当于编写了一个展示类和方法的使用文档,这份文档可编译,可运行,且 永远保持最新。
H模型
H模型
H模型揭示了一个原理:软件测试模型是一个独立的流程,贯穿于整个软件 产品的周期,与其他流程并发地进行。当某个测试时间点就绪时,软件测试 就从准备阶段进入执行阶段。软件测试不仅仅指测试的执行,还包括很多其 他的活动。并且软件测试要尽早准备,尽早执行。
X模型
X模型也是对V模型的改进,认为V模 型无法引导项目的全部过程,认为一 个模型必须能处理开发的所有方面, 包括交接,频繁重复的集成等。 X模型提出针对单独的程序片段进行相 互分离的编码和测试,此后通过频繁 的交接和集成最终合成为可执行的程 序。 左边描述的是针对单独程序片段进行 的相互分离的编码和测试,此后将进 行频繁的交接,通过集成最终成为可 执行的程序,然后再对这些可执行的 程序进行测试,已通过集成测试的产 品可以进行封装并提交给用户,也可 以作用更大规模和范围内集成的一部 分,多根并行的曲线表示变更可以在 各个部分发生。
STEP6
调试或执行单元测试
测试类、断言的使用说明
测试类必须添加[TestClass]特性标识,测试方法必须添加[TestMethod]特性,否则会被认为是普通的类和方法。 Assert 断言的使用: 1、 2、 3、 4、 5、 6、 7、 AreEqual:方法被重载了N多次,主要功能是判断两个值是否相等;如果两个值不相等,则测试失败。 AreNotEqual:方法被重载了N多次,主要功能是判断两个值是否不相等;如果两个值相等,则测试失败。 AreNotSame:引用的对象是否不相同;如果两个输入内容引用相同的对象,则测试失败. AreSame:引用的对象是否相同;如果两个输入内容引用不相同的对象,则测试失败. Fail:断言失败。 Inconclusive:表示无法证明为 true 或 false 的测试结果 IsFalse:指定的条件是否为 false;如果该条件为 true,则测试失败。
单元测试案例
重庆软件服务外包人才培训基地
Strategic Partnership Group
• 此外还可以注意到自动生成的代码中有一些被注 释的方法,这些方法我们可以选择使用:
– [ClassInitialize()]标记的方法可在运行类中的第一个测试 前运行代码。 – [ClassCleanUp()]标记的方法可在运行完类中的所有测试 后运行代码。 – [TestInitialize()]标记的方法可在运行每个测试前运行代 码。 – [TestCleanUp()]标记的方法可在运行完每个测试后运行 代码。
重庆软件服务外包人才培训基地
Strategic Partnership Group
• Assert语句用来比较从方法返回来的值和期望值, 然后返回pass或者fail的结果。如果在一个测试方 法中有多个Assert的话,那么这个测试方法要通过 测试必须让所有的Assert方法通过,不然,其中有 一个fail,那么这个Case就会fail。如果我们的单元 测试中没有任何的Assert语句,那么它的结果始终 是pass的。 • Assert类有许多进行比较的方法,此外还有 StringAsserts、CollectionAssert类也可用于单元测 试中,具体的我们可以参加MSDN上的介绍了。
重庆软件服务外包人才培训基地
Strategic Partnership Group
• 下面我继续使用上次进行单元测试的函数 ,该函数体如下:
重庆软件服务外包人才培训基地
Strategic Partnership Group
• 然后按照平常那样创建一个单元测试之后 ,修改测试代码如下:
重庆软件服务外包人才培训基地
重庆软件服务外包人才培训基地
Strategic Partnership Group
VS 2010 测试功能学习
TFS的使命就是要解决开发过程中的信息“孤岛”问题,通过统一的存储机制是它们的能够协作起来,实现1 + 1 + 1 ... +第n个1 > n的效果。如下图所示,微软已经为不同的角色提供了丰富的工具来访问TFS数据,同时还提供了TFS Object Model(API),让第三方厂商就能够开发自己的基于TFS的软件。
问题4.什么是Shared Step?
答:Shared Steps是指共享的测试步骤。每个Test Case是由一系列的测试步骤组成的,每个测试步骤包括要执行的操作以及对操作结果的验证。有些测试步骤是可以在多个测试用例中所共用的,就可以把它当作Shared Steps,比如说如果我们要从测试VS,第一步总是要启动VS并确认VS IDE显示出来了。这样一个步骤是所有对VS进行测试测试用例都必须要执行的,我们就可以把它创建为Shared Step。TFS 2010的默认工作项类型中,新增加了Shared Step类型,就是用来保存Shared Step对象的。
问题5.哪里有最新的VS 2010测试功能的文档?
答:/en-us/library/ms182409(VS.100).aspx,读好MSDN的文档是了解好办法。
问题6.MTLM里可以“Add requirements”来扩展Test Plan,这里requirement是指啥呢?
答:阅读MSDN的文档你会发现,requirement和User Story是可以互换的。实际上Requirement就是User Story,更确切的讲就是TFS上的User Story工作项。项目经理在定义好User Storபைடு நூலகம்,测试人员可以从User Story直接来创建测试计划的内容。
vs2010测试小结
vs2010测试小结第一篇:vs2010测试小结一 VS常用的服务器控件 1 标签 label 文本框 textbox: 供用户输入/输出数据选项按钮: radiobutton:一个组中多个选项,但用户只能选其中一个.如性别复选框:check多个选项中,用户可以选任意个,或不选.如爱好5 命令按钮:command.6 下拉列表框dropdownlist.以折叠的形式展开多个选项,供用户选择一个项.如学历.二实例: 制作一个用户注册,登陆系统(1)制作登陆/注册首页已经注册的用户直接输入用户名和密码,再登陆新用户点”注册”进入regnew.aspx程序进行注册过程(2)编写regnew.aspx界面及功能以学生表为例注:单选按钮组,一个组内的多个选项才是单选互斥的, 给每个选项对象设置一个相同的组名(groupname).如把性别的男,女两个选项的groupname都设计为xb注:省份,县市,一般是下拉列表框供用户直接选择,而不是手工输入.原理:事先建立一个籍贯表,内容为:省份县市(包括中国所有县级及以上地区和城市名字)用户操作过程:先选择省份,编程根据这个省份名字在籍贯表中查询出该省份的所有县市城市放到后一个下拉列表框中.注:学历.因为学历不像籍贯这么复杂,仅有几个值,故直接在下拉列表框的items属性中写入几个学历常量字符串即可注意:生日.用程序的循环方法(在窗口的确page_load)把年,月,日的数字分别填充到三个下拉列表框中去protected void Page_Load(object sender, EventArgs e){ for(int i = 1970;i <= 2010;i++)DropDownList4.Items.Add(i.ToString());for(int j = 1;j <= 12;j++)DropDownList5.Items.Add(j.T oString());for(int k =1;k <= 31;k++)DropDownList6.Items.Add(k.T oString());} 注:自我介绍.多行的文本框textbox, textmode:muliLine Rows:行数(3)对注册编程,把注册数据写到数据库表(学生表)中 A: 从界面各控件对象取出各数据,并测试数据是否正确 B:连接数据库,打开学生表,把A 步得到的数据插入到表中 <1>数据库操作的连接的名字空间: 在后台代码的首部加入以下引用,才能连接和使用SQL SERVER数据库using System.Data;using System.Data.SqlClient;<2>准备连接数据库String mys = “server=(local);database=StudentDB;uid=sa;pwd=sa;Trusted_C on nection=no”;SqlConnection mycon = new SqlConnection(mys);mycon.Open();用sqlconnection 定义并实例化一个连接对象mycon,使用sa账和sa密码去连接本地local数据库服务器上的studentdb表.<3> 定义一个sql命令的命令对象SqlCommand mycom = new SqlCommand(“insert into 学生表(姓名,密码)values('”+user+“','”+ pass +“'”, mycon);mycom.ExecuteNonQuery();注: ExecuteNonQuery执行非查询方式运行mycom 命令(在SQLSERVER中,select….from 叫查询;insert update,delete叫非查询)mycon.Close();//关闭以上数据库的连接,翻译服务器资源第二篇:测试小结曙光民办小学2013学年第二学期期中测试分析与反思王新东2014.11.12半个学期一转眼过去了,期中考试也顺利结束了,本次期中考试,我们班学生全部参加考试,优秀率63.8%,及格率83.8%。
VS2010单元测试工具使用
目录:1、建立单元测试项目 (2)1.1、从被测试代码生成单元测试 (2)1.2、添加单元测试项目 (7)2、编写测试方法 (7)3、数据驱动的单元测试 (8)3.1、ACCESS数据驱动单元测试 (8)3.2、读取Excel的方法: (11)4、单元测试的运行 (14)5、附加测试属性 (15)VS2010中的单元测试在VS2010中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行单元测试,并且支持数据驱动的单元测试。
1、建立单元测试项目1.1、从被测试代码生成单元测试1)实例:创建VC#模式下的控制台应用程序,工程名为CUnitTest2)输入简单的加、减、乘、除函数代码,如下图所示(1)在Add方法体内,单击鼠标右键,在菜单中选择“创建单元测试”,建单元测试代码的基本框架,单击确定按钮后单击“创建”按钮,则自动创建一个新的单元测试代码项目。
(4)在“解决档案资源管理器”中可以看到多了一个“AddTest”项目,可以看出“AddTest”项目引用了被测项目的程序集,和单元测试框架Microsoft.VisualStudio.QualityTools.UnitTestFrame,并且自动产生两个C#代码文件AssemblyInfo.cs和ProgramTest.cs(5)ProgramTest.cs的代码如下图所示,从图中可以看到,自动产生了一个“ProgramTest”类,并使用[TestClass()]标识为一个单元测试类,以及一个“AddTest”测试方法,。
并用[TestMethod()]标识。
(6)ProgramTest.cs代码文件详讲[TestMethod()]:说明了以下代码是一个测试用例Int a = o; // TODO: 初始化为适当的值int b = 0; // TODO: 初始化为适当的值这两句是被测函数的输入参数,需要我们去修改它的值,也就是我们输入测试用例的地方。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Visual Studio 2010中的单元测试
在VS中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法也能进行单元测试,并且支持数据驱动的单元测试。
一、建立单元测试项目
1、建立要测试的实例:创建VC#模式下的控制台应用程序,工程名为calculator
2、输入简单的加、减函数代码,如下图所示
3、可按如下步骤建立单元测试
(1)在代码区任意位置单击鼠标右键,在菜单中选择"创建单元测试",
(2)在出现的"创建单元测试"界面中,勾上想要建立测试的方法,为这个方法创建单元测试代码的基本框架,单击确定按钮
(3)点击确定后,在新建测试项目中,输入需要创建的单元测试的名称TestCal,然后单击"创建"按钮,则自动创建一个新的单元测试代码项目。
(4)在"解决档案资源管理器"中可以看到多了一个"TestCal"项目,可以看出"TestCal"项目引用了被测项目的程序集,和单元测试框架
Microsoft.VisualStudio.QualityTools.UnitTestFrame,并且自动产生C#代码文件ProgramTest.cs
(5)ProgramTest.cs的代码如下图所示,从图中可以看到,自动产生了一个"ProgramTest"类,并使用[TestClass()]标识为一个单元测试类,以及两个测试方法"AddTest"和“AddTest”。
并用[TestMethod()]标识。
(6)ProgramTest.cs代码文件详讲,下面以AddTest方法为例
[TestMethod()]:
说明了以下代码是一个测试用例
Int a = 0; // TODO: 初始化为适当的值
int b = 0; // TODO: 初始化为适当的值
这两句是被测函数的输入参数,需要我们去修改它的值,也就是我们输入测试用例的地方。
double expected = 0; // TODO: 初始化为适当的值
double actual;
这两句话浅显易懂,前一句话是定义了期望值,后一句话是定义了实际值。
Assert.AreEqual(expected, actual);
Assert在这里可以理解成断言:在VS里做单元测试是基于断言的测试,expected, actual两者相等时测试通过,否则不通过。
默认代码中最后一行Assert.Inconclusive 表明这是一个未经验证的单元测试,在实际的程序中需要注释掉。
(7)设置测试数据
做如下修改
(8)执行测试
在编辑区点击右键,选择运行测试,可以看到运行结果。
双击测试结果,可以得到测试结果的详细信息。
(9)未通过的例子
将expected改成11,再试一下看看。
二、数据驱动的单元测试
数据驱动的单元测试是指单元测试的输入数据遍历一个数据源的所有行。
从数据源的没一行读入数据并传入给测试方法使用
1、ACCESS数据驱动单元测试
(1)建立一个access文件,建立一个表cal,设置表结构与数据(数据任意)如下,最后一行是不能通过的测试数据。
(2)打开测试视图窗口,选择测试视图
(3)编辑"数据连接字符串"属性,单击省略号(…)。
这将打开"选择数据源"对话框,其中列出了若干个可能的数据源,包括ODBC、Microsoft SQL Server 和Microsoft Access。
选择一个数据源后将打开一个特定于该数据源类型的对话框;在测试视图窗口中选择数据连接字符串
可以使用此对话框配置该数据源的连接属性。
(4)在这个界面中,选择Access文件和相应的表cal,单击"确定"按钮完成设置,回到"单元测试属性"窗口。
可以看到数据源的已经设置好。
(5)在"数据访问方法",可以选择"顺序"或"随机";默认值为"顺序"。
此设置表示从数据源的表中检索记录的顺序。
可以看到,在测试方法前面已经添加了一行数据连接字符串
(6)数据源的使用
通过TestContext 类的DataRow 和DataConnection 属性将数据提供给正在运行的单元测试。
下面为使用TestContext 类的DataRow属性来读入数据行
(7)运行测试,查看结果。
可以看到有一个是未通过的测试,是故意设置的不一致的结果。
2、EXCEL数据驱动单元测试
(1)新建一个excel文件,内容如下(数据可随意),最后一行是不能通过的测试数据。
将数据保存成csv文件
(2)打开测试视图窗口,选择测试视图
(3)编辑"数据连接字符串"属性,单击省略号(…)。
这将打开"选择数据源"对话框,其中列出了若干个可能的数据源,这里选择csv文件
(4)选择建立的csv文件,一直选择"下一步",可以看到数据预览,自动生成连接字符串
(5)数据源的使用
通过TestContext 类的DataRow 和DataConnection 属性将数据提供给正在运行的单元测试。
下面为使用TestContext 类的DataRow属性来读入数据行
(7)运行测试,查看结果。
可以看到有一个是未通过的测试,是故意设置的不一致的结果。
三、代码覆盖率(旗舰版)
VS旗舰版还提供了查看代码覆盖指标。
包含了一个代码覆盖工具,可以详细解释被执行代码的覆盖率,并突出显示哪些代码被执行,哪些代码没有被执行。
在今天的测试中,我想要查看代码覆率,但是却提示:找不到任何覆盖率数据
解决办法:
1.打开 Local.testsettings,弹出“测试设置”窗口
2.在“测试设置”的左边,选择“数据和诊断”,右边选中“代码覆盖率”后面的复选框,然后寻找“配置”按钮,灰常隐蔽,找到后用鼠标打它(下图已经标出,未选中的时候为灰色)
3.在代码覆盖率详细信息中选择要检测的项目. 应用关闭
4.一切都搞定之后,再次运行测试,就能够看到代码覆盖率了。
附录1:测试脚本中的方法介绍
单元测试的基本方法是调用被测代码的函数,输入函数的参数值,获取返回结果,然后与预期测试结果进行比较,如果相等则认为测试通过,否则认为测试不通过。
1、Assert类的使用
Assert.Inconclusive() 表示一个未验证的测试;
Assert.AreEqual() 测试指定的值是否相等,如果相等,则测试通过;AreSame() 用于验证指定的两个对象变量是指向相同的对象,否则认为是错误
AreNotSame() 用于验证指定的两个对象变量是指向不同的对象,否则认为是错误
Assert.IsTrue() 测试指定的条件是否为True,如果为True,则测试通过;
Assert.IsFalse() 测试指定的条件是否为False,如果为False,则测试通过;
Assert.IsNull() 测试指定的对象是否为空引用,如果为空,则测试通过;Assert.IsNotNull() 测试指定的对象是否为非空,如果不为空,则测试通过;
2、CollectionAssert类的使用用于验证对象集合是否满足条件StringAssert类的使用
用于比较字符串。
StringAssert.Contains StringAssert.Matches StringAssert.tartWith。