单元测试

Java Junit单元测试

*爱你&永不变心* 提交于 2020-02-13 01:47:03
Junit单元测试分类 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。 白盒测试:需要写代码的。关注程序具体的执行流程。 Junit使用:白盒测试 步骤 定义一个测试类(测试用例) 建议: 测试类名:被测试的类名Test(如 CalculatorTest) 包名:xxx.xxx.xx.test (如 view.study.demo43.test ) 定义测试方法:可以独立运行 建议: 方法名:test测试的方法名 (如testAdd) 返回值:void 参数列表:空参 给方法加@Test 导入junit依赖环境 举例 创建一个加减法类,我们来测试这个类: package view.study.demo44; public class Calculator { /** * 加法 */ public static int add(int a, int b) { return a + b; } /** * 减法 */ public static int sub(int a, int b) { return a - b; } } 传统的测试方式: package view.study.demo44; public class CalculatorTest { public static void main(String[] args) { int add =

执行单元测试

孤者浪人 提交于 2020-02-12 11:27:35
执行单元测试 目标 1. 回顾UnitTest框架使用 2. 基于UnitTest测试三角形案例 3. 在UnitTest框架中使用数据分离 什么是单元测试执行? 概念:通过单元测试框架对要进行测试代码的实践过程 1. 练习1 1. 通过Python语言编写一个运算的类(Calc),类中包含两个函数: 1) add(self,a,b) 返回a+b之和 2) sub(self,a,c) 返回a-c之差 提示:通过练习1,我们先简单复习下UnitTest框架的使用 1.1 练习1 步骤分析 1. 新建Calc类 2. 在Calc类中新建add函数 3. 在Calc类中新建sub函数 4. 调用对象中方法 代码 : # 新建Calc类 class Calc(): # 新建add方法,返回a+b def add(self,a,b): return a+b # 新建sub方法,返回a-b def sub(self,a,b): return a-b 1.2 练习1 单元测试 1. 导包 UnitTest 、Calc类 2. 新建单元测试类 Test01(集成 unitTest.TestCase) 3. 新建testAdd()函数 1). 导入Calc类中的add函数 2). 添加断言 4. 新建testSub()函数 1). 导入Calc类中的sub函数 2). 添加断言 5. 执行测试 1)

【SpringBoot 笔记】SpringBoot版本降级

一世执手 提交于 2020-02-11 06:32:49
在使用idea创建springboot项目时,可能需要创建一些低版本的springboot项目,但是发现idea只能选择一些新的版本 我们可以先任意选择创建一个版本,等待项目文件构建完成后,在 pom.xml 中把单元测试部分的 dependency 注释掉 <!--降级需要先将单元测试注释--> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-test</artifactId>--> <!--<scope>test</scope>--> <!--<exclusions>--> <!--<exclusion>--> <!--<groupId>org.junit.vintage</groupId>--> <!--<artifactId>junit-vintage-engine</artifactId>--> <!--</exclusion>--> <!--</exclusions>--> <!--</dependency>--> 再修改版本号为指定的版本号 < parent > < groupId > org . springframework . boot < / groupId > < artifactId >

yii2的单元测试

丶灬走出姿态 提交于 2020-02-11 02:58:52
1.什么是单元测试 单元测试其实就是一种代码级别的测试,主要用于判断自己写的代码是否是自己想要的。其实一般情况下单元测试用于跨部门,高耦合,多人参与的项目。 2.如何进行单元测试 很简单,就是使用。比如如果你想测试一个方法,直接运行方法,打印结果进行判断就可以了。只不过这样并不能完全表示它的准确性。也不够逼格,所以就运用而生了标准和工具。引申的说一下,其实世间万物都是个性化的,但是个性化并不能让别人准确的理解这个事物(或者理解需要花费时间和精力),所以就定了各种标准。个人感觉标准就是为给平凡而准备的等级,超凡的事物,从来不屑于遵循标准,因为它本身做的就比标准多很多。 3.yii2的单元测试 基于codecopt在做开发测试,这是一个测试工具,他可以做单元测试,功能测试,验收测试,api接口测试等,这里主要介绍下单元测试,其他没有几样没有做,只是进行猜测 详细介绍可以参考官网推荐https://codeception.com/for/yii 下面说说我自己的简单单元测试的过程,首先你需要初始化codecopt的配置。这个使用命令行进行自动生成的。 我用的wampserver,没有win下开发的,没有添加环境变量,也就是不能直接在命令行执行php,所以直接在命令行外执行的。 1)首先查找codecept文件的位置,由于我的yii2是其他人弄了5年的基础版本,搞了什么不知道

17Go语言基础之单元测试

折月煮酒 提交于 2020-02-10 20:52:14
本文是 李文周的博客 go语言学习之路的目录提要版,方便复习查看使用,原文参见文章连接: https://www.liwenzhou.com/posts/Go/go_menu/ 不写测试的开发不是好程序员。我个人非常崇尚TDD(Test Driven Development)的,然而可惜的是国内的程序员都不太关注测试这一部分。 这篇文章主要介绍下在Go语言中如何做单元测试和基准测试。 单元测试总结 go test工具 Go语言中的测试依赖 go test 命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的语法、规则或工具。 go test命令是一个按照一定约定和组织的测试代码的驱动程序。在包目录内,所有以 _test.go 为后缀名的源代码文件都是 go test 测试的一部分,不会被 go build 编译到最终的可执行文件中。 在 *_test.go 文件中有三种类型的函数,单元测试函数、基准测试函数和示例函数。 类型 格式 作用 测试函数 函数名前缀为Test 测试程序的一些逻辑行为是否正确 基准函数 函数名前缀为Benchmark 测试函数的性能 示例函数 函数名前缀为Example 为文档提供示例文档 go test 命令会遍历所有的 *_test.go 文件中符合上述命名规则的函数,然后生成一个临时的main包用于调用相应的测试函数,然后构建并运行

《构建之法》阅读笔记六

房东的猫 提交于 2020-02-09 08:51:14
第十三章:软件测试    Bug即软件的缺陷,可以分为三种:症状、程序错误、根本原因。   找出bug则需使用测试,按测试设计的方法分类分为黑箱测试(即行为测试设计)和白箱(玻璃箱)测试(即使用软件的内部结构和知识来选择测试数据和具体的测试方法);   按测试目的分为功能测试和非功能测试(即测试软件的服务质量);   测试方法分为单元测试、代码覆盖率测试、构建验证测试、验收测试、“探索式”测试、回归测试、场景/集成/系统测试、伙伴测试、效能测试、压力测试、内部/外部测试、易用性测试、“小强”大扫荡。其中使用最多的是单元测试,既每次做完软件,并进行过自我复审,然后进行单元测试。 第十四章:质量保障   软件质量=程序质量+软件工程质量   软件工程的质量体现在:软件开发过程的可见性、风险控制、软件内部模块,项目中间阶段的交付质量,项目管理工具的因素、开发成本的控制、内部质量指标的完成。软件的质量不能仅仅依靠测试人员去保证,编程人员在进行编程时要尽力保证自己代码的质量以及各模块连接之间的稳定性。 第十五章:稳定和发布阶段   在软件发布后,软件可能会发有各种各样的bug,所以软件团队中就需要以各个角色为基础成立一个会诊小组,可以对bug进行修复,也可以不修复或者推迟修复。 第十六章:IT行业的创新   每个人都可以创新

Nunit单元测试基础知识

隐身守侯 提交于 2020-02-09 08:39:36
推行单元测试的目的: 1、 减少BUG提高项目的质量 2、 养成良好的编码习惯,提高开发人员编码水平 要测什么What? 最小的可测试软件元素(单元) , 包括单元的内部结构(如逻辑和数据流)以及单元的功能和可观测的行为 . 由于开发方式的不同,单元测试一般划分方法如下: 1. 面向对象的软件开发:以 Class( 类 ) 作为测试的最小单元。以方法的内部结构作为测试的重点。 2. 结构化的软件开发:以模块(函数、过程)作为测试的最小单元。 如何测试 How? 白盒测试方法:测试单元的内部结构, Nunit Nmock 黑盒测试方法:测试单元的功能和可观测的行为 《通用测试用例》 步骤: 一、 如何设计单元测试 需要弄清楚被测试代码实现的功能和相应的逻辑关系; If…else… Switch..case… While... 同时还要考虑到测试的输入内容,以及返回的结果; 用例的设计要保证面面俱到,是否覆盖了每一条路径。 而如何做到面面俱到这就需要恶我们对每个函数进行详细的分析,将分析和讨论的结果归入相关的测试库中。初期工作的进度慢并不要紧,只要能做得很详细对于以后的测试还是有很大的帮助。或许以后的测试中,只要直接调用原来写过的测试类库,修改部分简单的语句就可以实现新模块的单元测试了 [TestFixture] 表示:类包含了测试代码(这个特性可以被继承)。这个类必须是 公有 的

单元测试之道-使用NUnit(c#)

空扰寡人 提交于 2020-02-09 08:30:40
这几天,在网上找了些关于单元测试的使用说明(NUnit).由于初学,就拿自己的测试用例来说说吧. 1. TDD的简介 首先什么是TDD呢?Kent Beck在他的<<测试驱动开发 >>(Addison-Wesley Professional,2003)一书中,使用下面2个原则来定义TDD: · 除非你有一个失败的自动测试,永远不要写一单行代码. · 阻止重复 我想第一个原则是显而易见的.在没有失败的自动测试下就不要写代码.因为测试是嵌入在代码必须满足的需求中.如果没有需求,就没有必要实现任何东西.所以这个原则阻止我们去实现那些没有测试和在解决方案中不需要的功能. 第二个原则说明了在一个程序中,不应该包含重复的代码.如果代码重复,我想这就是不好的软件设计的象征.随着时间的流逝,它会对程序造成不一致的问题,并且使代码变非常混乱 ,因为我们时常不会记得重复代码的位置.如果发现代码重复,我想我们应该立即删除代码重复.其实这就涉及到重构了.在这里我就不多讲了. 一般来说,测试分为2种类型,一是程序员自己的测试,另外一种是客户的测试.关于客户测试,我推荐一个FIT的框架,非常不错。在这里,我们讲的TDD就是程序员测试.那么什么是程序员测试呢?我认为就是我们常说的单元测试.既然是单元测试,在.NET里势必会用到某些工具,目前最著名恐怕就是我即将介绍的NUnit了, 2.NUnit的介绍

NUnit单元测试属性介绍

主宰稳场 提交于 2020-02-09 08:29:26
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using NUnit.Framework; 6 using System.Diagnostics; 7 using System.Threading; 8 9 namespace Test 10 { 11 /**/ /// <summary> 12 /// TestFixture属性标记表示该类是一个带有测试方法的类,注意: 13 /// 该类的访问修饰符必须是public 14 /// </summary> 15 [TestFixture] 16 public class TestClass 17 { 18 19 private string dateTime = DateTime.Now.ToString(); 20 private string dateTime2 = DateTime.Now.ToString(); 21 /**/ /// <summary> 22 /// 构造函数 23 /// </summary> 24 public TestClass() { } 25 26 /**/ /// <summary> 27 /// SetUp属性用来修饰方法

SpringBoot 单元测试利器——Mockito

孤者浪人 提交于 2020-02-08 20:20:49
Mockito 是一种 Java mock 框架,他主要是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean、模拟方法的返回值、模拟抛出异常...等,在了解 Mockito 的具体用法之前,得先了解什麽是 mock 测试 1. 什么是 mock 测试? mock 测试就是在测试过程中,创建一个假的对象,避免你为了测试一个方法,却要自行构建整个 bean 的依赖链 像是以下这张图,类 A 需要调用类 B 和类 C,而类 B 和类 C 又需要调用其他类如 D、E、F 等,假设类 D 是一个外部服务,那就会很难测,因为你的返回结果会直接的受外部服务影响,导致你的单元测试可能今天会过、但明天就过不了了 而当我们引入 mock 测试时,就可以创建一个假的对象,替换掉真实的 bean B 和 C,这样在调用B、C的方法时,实际上就会去调用这个假的 mock 对象的方法,而我们就可以自己设定这个 mock 对象的参数和期望结果,让我们可以专注在测试当前的类 A,而不会受到其他的外部服务影响,这样测试效率就能提高很多 2. Mockito 简介 说完了 mock 测试的概念,接下来我们进入到今天的主题,Mockito Mockito 是一种 Java mock 框架,他主要就是用来做 mock 测试的,他可以模拟任何 Spring 管理的 bean、模拟方法的返回值