异常处理与单元测试

上传人:dja****22 文档编号:243318894 上传时间:2024-09-20 格式:PPT 页数:29 大小:1.81MB
返回 下载 相关 举报
异常处理与单元测试_第1页
第1页 / 共29页
异常处理与单元测试_第2页
第2页 / 共29页
异常处理与单元测试_第3页
第3页 / 共29页
点击查看更多>>
资源描述
单击此处母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,异常处理与单元测试,第四章,回顾,实体类在三层结构中主要作用是什么?,using语句的主要作用是什么?,预习检查,1、在.NET平台下引发异常的原因有哪些?,2,、,.NET Framework,引发的异常有几类?,3,、单元测试中代码覆盖率的主要作用是什么?,本章任务,在业务逻辑层定制异常处理,在业务逻辑层创建单元测试,本章目标,会使用异常处理,会使用VSTS写单元测试,trade(),sendquery();,.,.,为什么需要异常处理,网上银行,张三转账25000到李四的账户上,0,20,000,数据库,系统将查询发送到数据库中,拒绝交易,余额,20000-25000,错误 程序出现故障,系统崩溃,为了防止系统崩溃我们需要使用异常处理,什么异常处理,代码错误,公共语言运,行库遇到意外,资源,不可用,异常,程序,执,行,异常处理,恢复,程序,在.NET平台下我们如何使用异常处理?首先要了解,Exception,类,Exception类,.NET Framework,公共语言运行,时引发的异常,用户程序,引发的异常,Exception类都有哪些属性使我们进一步了解它?,Exception类,属性名称,说明,Source,此属性表示导致异常发生的应用程序或对象的名称,Message,提供引起异常的详细信息,StackTrace,此属性提供在堆栈上所调用方法的详细信息,并首先显示最近调用的方法,InnerException,对内部异常的引用,如果此异常基于前一个异常,则内部异常指最初发生的异常,用Exception类如何捕获异常,如何捕获异常,回顾try和catch块的使用,滤水器,filter_water(),try,水;,catch,杂质;,.,过滤水,杂质,/程序代码,/错误处理代码,try,/程序代码,catch (Exception E),/错误处理代码,使用异常处理,:在C#程序中,如何使用异常处理,使用throw 再次引发异常,2,使用,Try.Catch块捕获异常,1,如何使用throw得到更多的异常信息?,使用异常处理,public IList GetAllStudents(),IList students = new List();,try,/调用数据访问层,students = studentService.GetAllStudents();,catch (Exception ex),throw new Exception(ex.ToString();,return students;,小结,使用异常处理的主要目的是什么?,.NET Framework引发的异常有哪两类?,如何捕获异常?,为什么需要单元测试,单元测试是保证软件质量的具体操作方法,什么是单元测试,PDA在出厂之前,会对每一个零部件进行测试,单元测试,什么是VSTS单元测试,Visual Studion 集成的单元测试框架,如何用VSTS写单元测试,1、创建测试,2、编写测试,3、运行测试,4、代码覆盖,创建测试,:在业务逻辑层为学员账户创建方法创建单元测试,1、右键单击“AddStudent”方法,然后选择“创建单元测试”,创建测试,2、在“创建单元测试”对话框中选择“输出项目”为“Visual C# ”,选择输出项目类型,“Visual C#”,测试项目名称,3、单击“确定”,输入测试项目名称为“MySchoolTest”,单击“创建”,创建测试,新生成与单元测试相关的文件有:,文件名,目的,AuthoringTest.txt,提供关于创建测试的说明,包括向项目增加其他测试的说明,StudentManagerTest.cs,包含,StudentManager类生成的测试,以及测试初始化和测试清除方法,MySchoolPro.vsmdi,测试管理文件,localtestrun.testrunconfig,本地测试运行设置文件,如何在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 = target.AddStudent(student);,Assert.AreEqual,(expected, actual, MySchool.BLL.StudentManager.AddStudent,未返回所需的值。,);,Assert.Inconclusive,(,验证此测试方法的正确性。,);,编写测试,VSTS生成的基本测试框架,VSTS单元测试是基于断言(,Assert,)的测试,测试指定的值是否相等,,如果不等测试失败,表明这是个未,验证的单元测试,编写测试,断言,说明,AreEqual (),测试指定的值是否相等,如果不等测试失败,Inconclusive (),表示一个未验证的测试,IsTrue (),测试指定的条件是否为true,如果为false测试失败,IsNull (),测试指定的对象是否为空引用,如果不为空,测试失败,IsNotNull (),测试指定的对象是否为非空,如果为空,测试失败,IsFalse(),测试指定条件是否为false,如果该条件为true,测试失败,常用断言如下:,如何修改断言(,Assert,)?得到正式的测试,TestMethod(),public void AddStudentTest(),/ 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 = “学员,账户创建成功,!,string actual;,actual = MySchool.BLL.StudentManager.AddStudent(student);,Assert.AreEqual(,expected, actual, MySchool.BLL.StudentManager.AddStudent,未返回所需的值。,);,编写测试,在测试项目中添加,被测单元需要的配置文件,运行测试,测试运行的方式有两种,测试运行的结果有两种,如何查看测试失败的详细信息,1,用调试启动选定的测试项目,2,启动选定的测试项目(不调试),1,通过,2,失败,运行测试,我们选定测试并双击,显示AddStudentTestResults窗口,单元测试的一个关键指标是:,代码覆盖,代码覆盖,代码覆盖是度量单元测,试运行时测试了多少代码,未测试,到的代码,如何启用代码覆盖功能?,代码覆盖,1、双击“本地测试运行设置文件( localtestrun.testrunconfig )”,2、在配置对话框中选择“代码覆盖率”,选中“要检测的项目”,单击应用,如何查看代码覆盖率?,代码覆盖,3、点击“代码覆盖率结果”,双击被测单元,总结,在异常处理中throw的主要作用是什么?,如何获得更多的异常信息?,为什么要使用单元测试?,VSTS下生成的测试项目是否支持调试功能?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!