异常处置和单元测试省公共课一等奖全国赛课获奖课件.pptx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 异常 处置 单元测试 公共课 一等奖 全国 获奖 课件
- 资源描述:
-
异常异常异常异常处处理与理与理与理与单单元元元元测试测试第四章第四章第四章第四章第1页回顾回顾实体类在三层结构中主要作用是什么?实体类在三层结构中主要作用是什么?using语句主要作用是什么?语句主要作用是什么?第2页预习检验预习检验1、在、在.NET平台下引发异常原因有哪些?平台下引发异常原因有哪些?2、.NET Framework引发异常有几类?引发异常有几类?3、单元测试中代码覆盖率主要作用是什么?、单元测试中代码覆盖率主要作用是什么?第3页本章任务本章任务在业务逻辑层定制异常处理在业务逻辑层定制异常处理在业务逻辑层创建单元测试在业务逻辑层创建单元测试第4页本章目标本章目标会使用异常处理会使用异常处理会使用会使用VSTS写单元测试写单元测试第5页trade()sendquery();.为何需要异常处理为何需要异常处理帐户姓名 余额300123张张三三300124王五王五47,000311320李四李四网上银行网上银行 张三转账张三转账25000到李四账户上到李四账户上020,000数据库数据库系统将查询发送到数据库中系统将查询发送到数据库中拒绝交易拒绝交易 余额余额 0-25000错误错误 程序出现故障程序出现故障 系统瓦解系统瓦解为了预防系统瓦解我们需要使用异常处理为了预防系统瓦解我们需要使用异常处理第6页什么异常处理什么异常处理代码错误代码错误 公共语言运公共语言运 行库碰到意外行库碰到意外 资源资源 不可用不可用 异常异常 程序程序 执执行行异常处理异常处理 恢复恢复程序程序 在在.NET平台下我们怎样使用异常处理?首先要了解平台下我们怎样使用异常处理?首先要了解Exception类类 第7页Exception类类.NET Framework 公共语言运行公共语言运行时引发异常时引发异常用户程序用户程序引发异常引发异常Exception类都有哪些属性使我们深入了解它类都有哪些属性使我们深入了解它?第8页Exception类类属性名称属性名称说明说明Source 此属性表示造成异常发生应用程此属性表示造成异常发生应用程序或对象名称序或对象名称 Message提供引发异常详细信息提供引发异常详细信息StackTrace 此属性提供在堆栈上所调用方法此属性提供在堆栈上所调用方法详细信息,并首先显示最近调用详细信息,并首先显示最近调用方法方法 InnerException对内部异常引用,假如此异常基对内部异常引用,假如此异常基于前一个异常,则内部异常指最于前一个异常,则内部异常指最初发生异常初发生异常用用Exception类怎样捕捉异常类怎样捕捉异常第9页怎样捕捉异常怎样捕捉异常回顾回顾try和和catch块使用块使用滤水器滤水器 filter_water()try 水水;catch 杂质杂质;.过滤水过滤水 杂质杂质/程序代码程序代码/错误处理代码错误处理代码 try/程序代码程序代码catch(Exception E)/错误处理代码错误处理代码第10页使用异常处理使用异常处理:在:在C#程序中,怎样使用异常处理程序中,怎样使用异常处理 使用使用throw 再次引发异常再次引发异常2使用使用Try.Catch块捕捉异常块捕捉异常1怎样使用怎样使用throw得到更多异常信息?得到更多异常信息?第11页使用异常处理使用异常处理public IList GetAllStudents()IList students=new List();try /调用数据访问层调用数据访问层 students=studentService.GetAllStudents();catch(Exception ex)throw new Exception(ex.ToString();return students;第12页小结小结使用异常处理主要目标是什么?使用异常处理主要目标是什么?.NET Framework引发异常有哪两类?引发异常有哪两类?怎样捕捉异常?怎样捕捉异常?第13页为何需要单元测试为何需要单元测试单元测试是确保软件质量详细操作方法单元测试是确保软件质量详细操作方法第14页什么是单元测试什么是单元测试PDA在出厂之前,会对每一个零部件进行测试在出厂之前,会对每一个零部件进行测试单元测试单元测试 第15页什么是什么是VSTS单元测试单元测试Visual Studion 集成单元测试框架集成单元测试框架第16页怎样用怎样用VSTS写单元测试写单元测试1 1、创建测试、创建测试2 2、编写测试、编写测试3 3、运行测试、运行测试4 4、代码覆盖、代码覆盖第17页创建测试创建测试:在业务逻辑层为学员账户创建方法创建单元测试:在业务逻辑层为学员账户创建方法创建单元测试1、右键单击、右键单击“AddStudent”方法,然后选择方法,然后选择“创建单元测试创建单元测试”第18页创建测试创建测试2、在、在“创建单元测试创建单元测试”对话框中选择对话框中选择“输出项目输出项目”为为“Visual C#”选择输出项目类型选择输出项目类型“Visual C#”测试项目名称测试项目名称3、单击、单击“确定确定”,输入测试项目名称为,输入测试项目名称为“MySchoolTest”,单击,单击“创建创建”第19页创建测试创建测试新生成与单元测试相关文件有:新生成与单元测试相关文件有:文件名文件名目标目标AuthoringTest.txt提供关于创建测试说明,包含向提供关于创建测试说明,包含向项目增加其它测试说明项目增加其它测试说明StudentManagerTest.cs包含包含StudentManager类生成测类生成测试,以及测试初始化和测试去除试,以及测试初始化和测试去除方法方法MySchoolPro.vsmdi测试管理文件测试管理文件localtestrun.testrunconfig当地测试运行设置文件当地测试运行设置文件怎样在怎样在VSTS生成测试框架基础上编写测试?生成测试框架基础上编写测试?第20页 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)测试)测试 测试指定值是否相等,测试指定值是否相等,假如不等测试失败假如不等测试失败表明这是个未表明这是个未验证单元测试验证单元测试第21页编写测试编写测试断言断言说明说明AreEqual()测试指定值是否相等,假如不等测试失败测试指定值是否相等,假如不等测试失败Inconclusive()表示一个未验证测试表示一个未验证测试 IsTrue()测试指定条件是否为测试指定条件是否为true,假如为假如为false测试失测试失败败 IsNull()测试指定对象是否为空引用,假如不为空,测测试指定对象是否为空引用,假如不为空,测试失败试失败IsNotNull()测试指定对象是否为非空,假如为空,测试失测试指定对象是否为非空,假如为空,测试失败败IsFalse()测试指定条件是否为测试指定条件是否为false,假如该条件为假如该条件为true,测试失败测试失败惯用断言以下:惯用断言以下:怎样修改断言(怎样修改断言(Assert)?得到正式测试)?得到正式测试第22页 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 未返回所需值。未返回所需值。);编写测试编写测试在测试项目中添加在测试项目中添加被测单元需要配置文件被测单元需要配置文件第23页运行测试运行测试 测试运行方式有两种测试运行方式有两种 测试运行结果有两种测试运行结果有两种怎样查看测试失败详细信息怎样查看测试失败详细信息1用调试开启选定测试项目用调试开启选定测试项目2开启选定测试项目(不调试)开启选定测试项目(不调试)1经过经过2失败失败第24页运行测试运行测试我们选定测试并双击我们选定测试并双击显示显示AddStudentTestResults窗口窗口单元测试一个关键指标是:单元测试一个关键指标是:代码覆盖代码覆盖第25页代码覆盖代码覆盖代码覆盖是度量单元测代码覆盖是度量单元测试运行时测试了多少代码试运行时测试了多少代码未测试未测试到代码到代码怎样启用代码覆盖功效?怎样启用代码覆盖功效?第26页代码覆盖代码覆盖1、双击、双击“当地测试运行设置文件(当地测试运行设置文件(localtestrun.testrunconfig)”2、在配置对话框中选择、在配置对话框中选择“代码覆盖率代码覆盖率”,选中,选中“要检测项目要检测项目”,单击应用,单击应用 怎样查看代码覆盖率?怎样查看代码覆盖率?第27页代码覆盖代码覆盖3、点击、点击“代码覆盖率结果代码覆盖率结果”双击被测单元双击被测单元第28页总结总结在异常处理中在异常处理中throw主要作用是什么?主要作用是什么?怎样取得更多异常信息?怎样取得更多异常信息?为何要使用单元测试?为何要使用单元测试?VSTS下生成测试项目是否支持调试功效?下生成测试项目是否支持调试功效?第29页展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




异常处置和单元测试省公共课一等奖全国赛课获奖课件.pptx



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/4141494.html