1、什么是单元测试
 
 
 
 
2、单元测试的好处
(1)协助程序员尽快找到代码中bug的具体位置
(2)能够让程序员对自己的程序更有自信
(3)能够让程序员在提交项目之前就将代码变的更加的强壮
(4)能够协助程序员更好的进行开发
(5)能够向其他的程序员展示你写的程序该如何调用
(6)能够让项目主管更了解系统当前的情况
3、单元测试工具
 
 
4、如何编写单元测试
4.1 Assert类
 
Assert中文意思是断言。
 
 
 
4.2 TestClass特性
 
4.3 TestMethod特性
 
 
4.4 怎么评判一个单元测试是否合理或者达到测试目的?
答案是 代码覆盖率。
代码覆盖率是单元测试写的是否合理或是否达到要求的唯一标准。
代码覆盖率是测试代码所运行的实际程序路径的覆盖率。
 
怎么知道代码覆盖率是多少呢?
VS中提供了查看代码覆盖率的工具。
 
在单元测试项目中,打开测试资源管理器。
 
 
双击下面的方法,
 
 
深棕色的表示为 没有被测试到的代码。
浅蓝色的表示为 被测试到的代码。
浅橘色的表示为 部分被测试到的代码。
 
 
5、单元测试的标准
5.1 对已经存在的项目添加单元测试
步骤一:对所有程序集中的公共类以及公共类里面的公开方法添加单元测试
步骤二:对于构造函数和公共属性进行单元测试
步骤三:添加全面单元测试
5.2 对新项目添加单元测试
刚刚开始的项目,已开始就应该对所有公共的方法和属性都添加单元测试。
 
5.3 给哪些代码添加单元测试
首先是 要对属于框架技术中的代码添加单元测试。如操作数据库的组件、操作外部WebService的组件、邮件收发组件等。这些可复用的代码单元测试,可以大大提高底层操作的正确性和健壮性。
其次为业务逻辑层对界面公开的方法添加单元测试。这样可以让业务逻辑保持正确,并且能够将大部分的业务操作都归纳到单元测试中。保证以后如果业务逻辑出现问题,可以通过单元测试的业务逻辑找到bug。
5.4 编写单元测试代码需要注意什么
 
 
5.5 怎么提高代码覆盖率
1、边界条件数据,比如最大值最小值
2、空数据,引用类型判断null
3、格式不正确的数据,对象内部的数据结构是否正确。
 

C# 单元测试学习笔记的更多相关文章

  1. Junit单元测试学习笔记三

    一.     高级 Fixture 上一篇文章中我们介绍了两个 Fixture 标注,分别是 @Before 和 @After ,我们来看看他们是否适合完成如下功能:有一个类是负责对大文件(超过 50 ...

  2. Junit单元测试学习笔记一

    我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应该确保每一个函数 ...

  3. OC 单元测试学习笔记

    UnitTest 编译异常汇总: 问题1 Check dependencies No architectures to compile for (ONLY_ACTIVE_ARCH=YES, activ ...

  4. Junit单元测试学习笔记二

    我们使用Eclipse自动生成了一个测试框架,在这篇文章中,我们来仔细分析一下这个测试框架中的每一个细节,知其然更要知其所以然,才能更加熟练地应用JUnit4. 一.     包含必要地Package ...

  5. SpringBoot学习笔记:单元测试

    SpringBoot学习笔记:单元测试 单元测试 单元测试(英语:Unit Testing)又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作.程序单元是应用的最小可测试部 ...

  6. swift学习笔记5——其它部分(自动引用计数、错误处理、泛型...)

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  7. RAC学习笔记

    RAC学习笔记 ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾. 在学习Re ...

  8. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  9. [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现

    本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...

随机推荐

  1. mybatis之批量查询

    关于MyBatis批量更新和添加,参考我的如下文章即可:MyBatis的批量更新实例 MyBatis的批量添加实例 另外不管是批量的新增.删除.修改.查询也好,还是单个新增.删除.修改查询也罢.都会用 ...

  2. jenkins使用--部署

    软件: centos 7.x java jenkins Pipeline ansible 1.安装请看上一文 2.主要是讲部署() 目的:实现 参数化发布 说明 :构建jar包是由gitlab-ci  ...

  3. 经典算法(四) 数组相关 & 螺旋矩阵 & 数字大小写转换 & 字符串相关

    一.求所有子数组的和的最大值 public static void main(String[] args) { int[] a = { 1, -2, 3, 10, -4, 7, 2, -5 }; Fi ...

  4. poi导入读取时间格式问题

    万能处理方案: 所有日期格式都可以通过getDataFormat()值来判断 yyyy-MM-dd-----14 yyyy年m月d日--- 31 yyyy年m月-------57 m月d日  ---- ...

  5. web程序设计关于我们

    项目名称 福大咸鱼市场 开发团队 项目板块 负责人 美工 黄鸿杰 后端 胡继文 前端 葛家灿 联系方式:1175204449@qq.com

  6. 投稿SCI杂志 | 如何撰写cover letter | 如何绘制illustrated abstract

    现在大部分学术期刊杂志都要求提供这两样东西. 一个是面向editor的文章和研究的高度总结:一个是面向读者的高度总结,一图胜千言. 如何制作动画摘要呢? 收集素材,大部分内容在PPT里就能完成. 如何 ...

  7. 微信小程序调用微信支付接口

    本文链接:https://blog.csdn.net/u012667477/article/details/80940578前言:应项目要求,需要使用微信小程序做支付,写完后告知手续费太高方案不予通过 ...

  8. zookeeper生产最广泛使用java客户端curator介绍及其它客户端比较

    关于zookeeper的原理解析,可以参见zookeeper核心原理详解,本文所述大多数实践基于对zookeeper原理的首先理解. Curator是Netflix公司开源的一个Zookeeper客户 ...

  9. (转)Loadrunner教程--常用操做流程

    1loadrunner压力测试一般使用流程 1.1loadrunner压力测试原理 本质就是在loadrunner上模拟多个用户同时按固定行为访问web站点.其中固定行为在loadrunner中是通过 ...

  10. 解决pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your path问题

    解决方案: 找到python的安装路径下的pytesseract:   例如我的是  C:\develop\Python\Lib\site-packages\pytesseract .用文本编辑器打开 ...