10th 知识点学习:单元测试

1、书中所在位置:构建之法第二章,19页—28页。

2、大致内容:书中是以案例的形式引入的介绍,具体讲述什么是单元测试,即程序员小飞进行练习单元测试,经过一系列的代码更改之后,终于成功实现。通过事后小飞和阿超的探讨作者告诉我们如何做单元测试以及单元测试的作用——清晰地表达这一“单元”要做的事,以及它不能做的事,有利于帮助程序员记录这个模块的历史和变更的理由。

3、要点总结:

1)单元测试测试的是程序中最基本的单元,也即最基本的功能点。

2)单元测试应由程序的作者来写。

3)单元测试过后,机器的状态不变,保证单元测试不受以前单元测试实例的干扰。

4)单元测试要快,一般一个类要在几秒钟内完成。

5)单元测试的结果应该是可重复的、一致的。

6)独立性,不依赖于其他模块的测试。

7)单元测试应覆盖所有的代码路径。

8)单元测试应该被集成到自动测试框架当中。

9)单元测试必须和产品代码一起保存和维护。

4、进行单元测试的实践操作:我使用的集成开发环境是codeblock,据网上的介绍,google test 可以配置在codeblocks上进行单元测试,但是google test是谷歌开发的免费软件,在谷歌的网站上获得是比较容易的,但国内的IP上不去谷歌的网站,后来在csdn的一个网站上找到了1.7.0版的gtest,但是下载来后的安装也遇到了一点问题,目前正在设法解决中,还未成功。

时间: 2024-11-08 21:47:26

10th 知识点学习:单元测试的相关文章

Java核心知识点学习----多线程中的阻塞队列,ArrayBlockingQueue介绍

1.什么是阻塞队列? 所谓队列,遵循的是先进先出原则(FIFO),阻塞队列,即是数据共享时,A在写数据时,B想读同一数据,那么就将发生阻塞了. 看一下线程的四种状态,首先是新创建一个线程,然后,通过start方法启动线程--->线程变为可运行可执行状态,然后通过数据产生共享,线程产生互斥---->线程状态变为阻塞状态---->阻塞状态想打开的话可以调用notify方法. 这里Java5中提供了封装好的类,可以直接调用然后构造阻塞状态,以保证数据的原子性. 2.如何实现? 主要是实现Blo

Java核心知识点学习----多线程 倒计时记数器CountDownLatch和数据交换的Exchanger

本文将要介绍的内容都是Java5中的新特性,一个是倒计时记数器---CountDownLatch,另一个是用于线程间数据交换的Exchanger. 一.CountDownLatch 1.什么是CountDownLatch? 倒计时计数器,调用CountDownLatch对象的CountDown()方法就将计数器减一,当计数到达0时,则所有等待者或者全部等待者开始执行. 2.如何用? new CountDownLatch(1); 直接new,其构造函数必须传一个int类型的参数,参数的意思是: c

HTML5 Canvas知识点学习笔记

canvas ① 主要作用:绘制矢量图 ② 矢量图图形(路径)-(ILL) 位图图像(像素点)- PS中图像都是位图 ③ Canvas 能够制作动画,但是不是为了制作动画而生的也能够制作游戏.主要为了绘图而生. ④ 能够设置宽高 推荐样式写在style:Canvas 相当于是一个绘制图形的容器,并没有绘制功能,需要借助JS(脚本)实现绘制功能. 思路: getContext( ) var context = cnvas.getContext('2d'); // 图像的绘制 // 开始      

Node.js知识点学习

Node.js知识点学习 一.基本概念 Node.js,或者 Node,是一个可以让 JavaScript 运行在服务器端的平台.可以说,Node.js开创了javascript模块化开发的先河,早期的javascript需求都很简单,基本都是写成函数的,然后是面向过程的写法,后来慢慢的引入面向对象开发思想,再后来就慢慢写成 类.最后node.js的出现才开始有了js模块化开发的概念,这使得臃肿的js代码免去了命名冲突等一系列开发难题. Node最大的特点就是采用了异步式I/O与事件驱动的架构设

2014.5.19知识点学习:上下文切换

上下文切换(Context Switch) 或者环境切换 多任务系统中,上下文切换是指CPU的控制权由运行任务转移到另外一个就绪任务时所发生的事件.(时间片切换) 在操作系统中,CPU切换到另一个进程需要保存当前进程的状态并恢复另一个进程的状态:当前运行任务转为就绪(或者挂起.删除)状态,另一个被选定的就绪任务成为当前任务.上下文切换包括保存当前任务的运行环境,恢复将要运行任务的运行环境.(进程切换) 进程上下文用进程的PCB(进程控制块,也称为PCB,即任务控制块)表示,它包括进程状态,CPU

Unity3d官方测试插件学习-单元测试,集成测试

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多Unity3D资源.Unity3D培训视频.Unity3D教程.Unity3D常见问题.Unity3D项目源码,[狗刨学习网]unity极致学院,致力于打造业内unity3d培训.学习第一品牌. 其实Unity很早就有测试支持,从mono编辑器的UnitTest选项,还有安装目录中的NUnit.dll都可以看出来.只是国内很少有人研究. 这次拿了AssertStore下的测试插件研究了一下,总结了一套可行的方案 htt

学习单元测试和代码覆盖率工具的使用

(1)写一个程序,用于分析一个字符串中各个单词出现的频率,并将单词和它出现的频率输出显示.(单词之间用空格隔开,如“Hello World My First Unit Test”): (2)编写单元测试进行测试: (3)用ElcEmma查看代码覆盖率,要求覆盖达到100%. package com.kai.demo;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Se

【Garry逆袭校招】之 计算机网络 知识点学习--Android地基系列(二)

转载请注明: http://write.blog.csdn.net/postedit/44019791 嗯,没什么好抱怨,再接再厉自己打气~,没学不会,可以理解,但是放任盲点!绝对不能容忍,被自己气到(打气太多了),哈哈哈,自己气自己,我真可爱~~,不说废话.(推荐搜索问题直接Ctrl +F) 以下内容为各路大牛提供,我只是个大牛的搬运工~~,做一个汇总,方便大家查找.(当然Garry我还需要看书学习,推荐书籍:计算机网络(谢希仁)),习得的过程不是一下子就完成的,Garry也没有完全吃透这些知

学习单元测试(二)业务中的单元测试

上一篇总结是简单的业务,是否正确修改了名称. 这次就要加上实际业务了.报价要加行为的,对一个物品添加一个报价的能力,这报价必须高于之前对这个物品的所有报价. 所以,添加代码 public class Item { public int ItemID { get; private set; }//拍卖物品主键 public string Title { get; set; }//拍卖物品的名称 public string Description { get; set; }//拍卖物品的描述 pub