异常处理与单元测试.ppt_第1页
异常处理与单元测试.ppt_第2页
异常处理与单元测试.ppt_第3页
异常处理与单元测试.ppt_第4页
异常处理与单元测试.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、异常处理与单元测试,第四章,回顾,实体类在三层结构中主要作用是什么? using语句的主要作用是什么?,预习检查,1、在.NET平台下引发异常的原因有哪些? 2、.NET Framework引发的异常有几类? 3、单元测试中代码覆盖率的主要作用是什么?,本章任务,在业务逻辑层定制异常处理 在业务逻辑层创建单元测试,本章目标,会使用异常处理 会使用VSTS写单元测试,trade() sendquery(); . .,为什么需要异常处理,网上银行,张三转账25000到李四的账户上,0,20,000,数据库,系统将查询发送到数据库中,拒绝交易,余额 20000-25000,错误 程序出现故障,系统崩

2、溃,为了防止系统崩溃我们需要使用异常处理,什么异常处理,程序,执 行,异常处理,恢复,程序,在.NET平台下我们如何使用异常处理?首先要了解Exception类,Exception类,.NET Framework,公共语言运行 时引发的异常,用户程序 引发的异常,Exception类都有哪些属性使我们进一步了解它?,Exception类,用Exception类如何捕获异常,如何捕获异常,回顾try和catch块的使用,滤水器,filter_water() try 水; catch 杂质; .,过滤水,杂质,/程序代码,/错误处理代码,try /程序代码 catch (Exception E)

3、/错误处理代码 ,使用异常处理,:在C#程序中,如何使用异常处理,如何使用throw得到更多的异常信息?,使用异常处理,public IList GetAllStudents() IList students = new List(); try /调用数据访问层 students = studentService.GetAllStudents(); catch (Exception ex) throw new Exception(ex.ToString(); return students; ,小结,使用异常处理的主要目的是什么? .NET Framework引发的异常有哪两类? 如何捕获异常

4、?,为什么需要单元测试,单元测试是保证软件质量的具体操作方法,什么是单元测试,PDA在出厂之前,会对每一个零部件进行测试单元测试,什么是VSTS单元测试,Visual Studion 集成的单元测试框架,如何用VSTS写单元测试,1、创建测试 2、编写测试 3、运行测试 4、代码覆盖,创建测试,:在业务逻辑层为学员账户创建方法创建单元测试,1、右键单击“AddStudent”方法,然后选择“创建单元测试”,创建测试,2、在“创建单元测试”对话框中选择“输出项目”为“Visual C# ”,选择输出项目类型 “Visual C#”,测试项目名称,3、单击“确定”,输入测试项目名称为“MyScho

5、olTest”,单击“创建”,创建测试,新生成与单元测试相关的文件有:,如何在VSTS生成的测试框架基础上编写测试?,TestMethod() public void AddStudentTest() global:MySchool.BLL.StudentManager target = new global:MySchool.BLL.StudentManager(); / TODO: 初始化为适当的值 global:MySchool.Models.Student student = null; string expected = null; string actual; actual = t

6、arget.AddStudent(student); Assert.AreEqual(expected, actual, MySchool.BLL.StudentManager.AddStudent 未返回所需的值。); Assert.Inconclusive(验证此测试方法的正确性。); ,编写测试,VSTS生成的基本测试框架,VSTS单元测试是基于断言(Assert)的测试,测试指定的值是否相等, 如果不等测试失败,表明这是个未 验证的单元测试,编写测试,常用断言如下:,如何修改断言(Assert)?得到正式的测试,TestMethod() public void AddStudentTe

7、st() / TODO: 初始化为适当的值 global:MySchool.Models.Student student =new global:MySchool.Models.Student(); student.LoginId = test3; student.LingPwd = test3; student.UserStateId = 1; student.StudentName = test3; student.StudentNO = test3; student.Sex = 男; student.ClassID = 1; string expected = “学员账户创建成功! st

8、ring actual; actual = MySchool.BLL.StudentManager.AddStudent(student); Assert.AreEqual(expected, actual, MySchool.BLL.StudentManager.AddStudent 未返回所需的值。); ,编写测试,在测试项目中添加 被测单元需要的配置文件,运行测试,测试运行的方式有两种,测试运行的结果有两种,如何查看测试失败的详细信息,运行测试,我们选定测试并双击,显示AddStudentTestResults窗口,单元测试的一个关键指标是:代码覆盖,代码覆盖,代码覆盖是度量单元测 试运行时测试了多少代码,未测试 到的代码,如何启用代码覆盖功能?,代码覆盖,1、双击“本地测试运行设置文件( localtestrun.testrunconfig )”,2、在配置对话框中选择“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论