junit单元测试

【测试之道】深入探索:单元测试之Assertions

[亡魂溺海] 提交于 2020-04-07 08:59:17
相关文章 深入探索:单元测试之Test runners 深入探索:单元测试之基于 suites 的聚合测试 深入探索:单元测试之测试执行顺序 深入探索:单元测试之异常测试 深入探索:单元测试之Ignnore测试和TimeOut测试 深入探索:单元测试之Categories 深入探索:单元测试之Assertions assert 简述 JUnit 为全部的基本类型、对象 以及数组(包括基本类型和对象),参数顺序是期望值,后面跟随的是实际结果值。第一个参数是可选的,是在测试失败的时候输出的字符串信息。此外,这里还有一个不同于Assert 的,那就是assertThat, 它具有可选的失败消息参数实际值,和一个匹配对象。这里有一点需要注意的,那就是参数,assertThat 的参数是与其他assert 的参数是反过来的,比如assertEquals("failure - strings are not equal", "期望值", "实际结果值"); assertThat("实际结果值", 期望匹配值); 举例 使用Junit 需要一些jar 包,maven 的依赖如下: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test<

OCUnit测试框架

China☆狼群 提交于 2020-03-25 13:48:59
使用OCUnit测试框架 iOS单元测试框架 原则上,是否使用测试框架都不会影响单元测试结果,但是“工欲善其事,必先利其器”使用单元测试框架更便于我们测试和分析结果。 主要的iOS单元测试框架有: OCUnit,是开源测试框架,与Xcode工具集成在一起使用非常方便,测试报告以文本形式输出到输出窗口; GHUnit,是开源测试框架,它可以将测试报告以应用形式可视化输出到设备或模拟器上,也可以以文本形式输出到输出窗口;GHUnit可以测试OCUnit编写的测试用例; OCMock,是开源测试框架,它主要为测试提供Mock对象(伪对象)。 添加OCUnit到工程 添加OCUnit到工程中有两种方法,一种是在创建工程时添加,勾选“include Unit Tests”;另一种是在现有工程中添加“Cocoa Touch Unit Testing Bundle”Target来实现。下面我们详细介绍这两种添加过程。 1、创建工程时候勾选“include Unit Tests” 该种方式添加的单元测试属于应用测试(Application Testing)。在创建一个工程时,如果采用“Single View Application”模板,在选项中勾选“include Unit Tests”即可在工程中添加OCUnit框架。 工程创建完,在导航面板中会多一个PITaxTests组(<工程名

[转载文章] 单元测试与单元测试框架

蹲街弑〆低调 提交于 2020-03-04 18:15:14
本文转载,原文请点击 链接 黑盒测试与白盒测试 在 第一弹 中我们介绍过,软件的测试包含单元测试、集成测试、系统测试和回归测试四个阶段。那么,这里我们先来看下各个阶段都使用怎样的测试方法。 软件测试,从测试方法上来区分可以分为黑盒测试、白盒测试和灰盒测试。 这边讲下集成测试和系统测试的区别 集成测试 在系统测试之前, 单元测试 完成之后系统集成的时候进行测试。集成测试主要是针对程序内部结构进行测试,特别是对程序之间的接口进行测试。集成测试对测试人员的 编写脚本 能力要求比较高。测试方法一般选用黑盒测试和白盒测试相结合。 系统测试 最主要的就是 功能测试 ,测试软件 《需求规格说明书》 中提到的功能是否有遗漏,是否正确的实现。做系统测试要严格按照 《需求规格说明书》 ,以它为标准。测试方法一般都使用--黑盒测试.. 黑盒测试 黑盒测试,也称为功能测试。测试者不了解程序的内部情况,不需具备应用程序的代码、内部结构和编程语言的专门知识。只知道程序的输入、输出和系统的功能,这是从用户的角度针对软件界面、功能及外部结构进行测试,而不考虑程序内部逻辑结构。测试案例是依应用系统应该做的功能,照规范、规格或要求等设计。测试者选择有效输入和无效输入来验证是否正确的输出。 此测试方法可适合大部分的软件测试,如 集成测试 以及 系统测试 。 黑盒测试主要是为了发现以下几类错误: 是否有不正确或遗漏的功能

使用moco单元测试

試著忘記壹切 提交于 2020-02-28 03:02:57
在项目中,除了查询数据库,还要调用外部的服务,这这时候我们在写单元测试的时候,会考虑怎么覆盖着一块代码: 1.封装一个方法,然后mock这个方法。 2.直接配置好调用的服务,测试的时候调用真实存在的服务。 3.起一个服务,mock这个调用的这个服务。 第一种方法虽然mock了这个方法,但是没有覆盖到调用远端的这个服务处理过程,比如序列化,contentType等等。 第二种方法过于依赖已经外部的服务,测试的失败的概率也是比较高的,也有点集成的意思,会把单元测试做的过重,并且不好维护。 第三种方法,可以配置协议启动,当方法调用的时候,实际调用我们mock的服务,也想过开发一个mock服务,我们配置需要调用的服务,返回格式内容,感觉这种适合给前端接口定义的时候用,不适合后端开发。 发现前人开发了moco( https://github.com/dreamhead/moco) 来实现第三种方法来做单元测试。有几种使用Moco的方法。一种是API,您可以在单元测试中使用它。另一个是独立运行Moco。当前,需要将所有配置都放在JSON文件中。 如果是maven项目,那么加入如下的依赖: 然后在junit的单元测试中,加入moco runner的服务,这里我使用作者git中的test描述,需要写一个配置文件,这里的request是请求的配置

基于springboot的junit单元测试

和自甴很熟 提交于 2020-02-17 15:15:35
首先就是要有一个springboot项目,具体怎么创建就不过多赘述,不懂的小伙伴自行查找资料。 创建好springboot项目后,添加单元测试需要的依赖,这是我项目的依赖 在导入jar包后就可以对要测试的类进行快速测试,右击想要测试的类的类名选择goto->test后会新建测试文件。 springboot记得要加上注解@RunWith,@SpringBootTest,以下是我的测试文件 记得在测试的方法加上注解@Test,如此一个单元测试就完成了。 如果有测试前需要完成的工作或者测试后的工作要在方法前加上@Before和@After 来源: CSDN 作者: cyy56 链接: https://blog.csdn.net/cyy56/article/details/104355870

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、模拟方法的返回值

转:Spring mvc 之Junit 单元测试 Controller中方法

一笑奈何 提交于 2020-01-28 04:40:12
Springmvc 之Junit 单元测试 1. 首先引入测试的jar包。 1.1因为我用的ide是eclipse,现只介绍eclipse中junit的使用。首先引用eclipse中自带的junit, 方法: 右键项目—>property---->如下图所示 1.2 因为是要测试junit对springmvc中Controller的单元测试,故要引入Spring-test jar包 引入方式 <!-- Spring 单元测试包 --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <!-- 表是测试时才引用,发布时去掉 --> <scope>test</scope> 2. 建立测试的Controller,代码如下 packageorg.xxz.controller; importjava.util.List; importjavax.annotation.Resource; importorg.springframework.stereotype.Controller; importorg.springframework.ui.ModelMap; importorg

Android单元测试

隐身守侯 提交于 2020-01-24 01:14:49
Android单元测试 单元测试 单元测试理解 Java的单元测试 Android客户端的单元测试 单元测试 说到测试,主要分为,冒烟测试,集成测试,单元测试。单元测试是保证基础模块、单元工作正常的一种保证手段。在互联网短平快的敏捷开发的开发模式中,常常因为业务繁多,而忽视了单元测试,造成积重难返的局面。编程好比造房子,砖块好比每一个单元,只有保证每一块砖的坚实耐用,才能保证整个房子的坚固可靠。而在业务繁多的互联网公司,尤其是2C企业的业务部门,往往只是做一个活动,能跑起来就上线,几天后就下线,对性能,可靠性不是那么考量。但是,个人觉得SDK和支撑上层业务的基础能力是一定需要单元测试的。 单元测试理解 单元测试是保障单元可用性的途径,主要通过验证单元的逻辑,需要注意以下几点: 多条分支的逻辑必须覆盖 预期结果与实际结果必须一致才算测试通过 Java的单元测试 java的单元测试,主要通过jUnit框架来实现,通过注解来标注每个测试用例。通过断言来判断是否测试通过。 主要的注解有: @Before @After @Test @BeforeClass @AfterClass Android客户端的单元测试 Android开发是Java开发衍生,测试也大致相同,有多种测试框架。这里推荐UI单元测试 robolectric 配置如下: build.gradle 中添加配置 android

13-使用Junit单元测试

眉间皱痕 提交于 2020-01-18 03:13:07
在main下的java包与test下的包虽然物理路径不一样,但是在编译后class文件里是一起的 1.引入junit依赖 <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> 2.创建测试类 2.引入Spring单元测试模块 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>4.3.13.RELEASE</version> </dependency> 使用单元测试模块总结: 来源: CSDN 作者: 蝶衣_疯魔 链接: https://blog.csdn.net/shujuku____/article/details/103834858

单元测试

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-14 21:16:52
一·单元测试: 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。 二· 单元测试步骤   在代码编写完成后的单元测试工作主要分为两个步骤人工静态检查和动态执行跟踪。   人工静态检查是测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性(尽量通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性、算法高效性。并尽可能的发现程序中没有发现的错误。   第二步是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。经验表明,使用人工静态检查法能够有效的发现30%到70%的逻辑设计 和编码错误。但是代码中仍会有大量的隐性错误无法通过视觉检查发现,必须通过跟踪调试法细心分析才能够捕捉到。所以,动态跟踪调试方法也成了单元测试的重 点与难点。 三·单元测试的具体操作: 1,新建一个项目,起名叫JUnitTest,首先编写一个目标类Calculator,测试代码: package andycpp; public class