测试工具学习笔记 - JUnit4

1. StartUp

引入JUnit依赖, 用@Test标注需要被测试的方法,使用Assert进行测试结果是否通过

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>${junit.version}</version>
    <scope>test</scope>
</dependency>
import org.junit.Assert;
import org.junit.Test;

public class AssertTest {

    @Test
    public void testAssertEquals(){
        Assert.assertEquals("HelloJUnit", "HelloJUnit");
        Assert.assertNotEquals("HelloWorld", "HelloJUnit");
    }
}

2. 常用Assert方法

进行测试结果是否满足预期

Assert.assertEquals, Assert.assertNotEquals
Assert.assertSame, Assert.assertNotSame
Assert.assertTrue, Assert.assertFalse
Assert.assertNull, Assert.assertNotNull
Assert.assertThat
Assert.assertArrayEqauls
Assert.fail

3. 常用Assume方法

与Assert类似,但不会使TestCase执行失败。假设测试结果满足时,才继续往下执行,否则忽略该TestCase。

可用于依赖第三方,需要第三方执行成功后续TestCase才能执行的情况

Aassume.assumeTrue
Aassume.assumeFalse
Aassume.assumeNotNull
Aassume.assumeThat
Aassume.assumeNoException

4. TestRunner

JUnit内置的TestCase执行器,其类层次结构及说明如下:

@RunWith(Runner.class) 生效某个Runner

  ParentRunner

    BlockJUnit4ClassRunner   //JUnit默认TestRunner

      JUnit4 //当前默认TestRunner别名, 为了防止后续版本默认TestRunner行为有变化,明确标记使用当前默认TestRunner

      BlockJUnit4ClassRunnerWithParameters

      Theories

    Suite //创建包含多个测试类的套件 @SuiteClasses指定包含的测试类

      Enclosed //包含静态内部类中的TestCase

      Categories //分组测试 @IncludeCategory,@ExcludeCategory指定包含及排除的分组

      Parameterized //参数化测试   @Parameters 指定参数

5. TestRule

TestRule可以重新添加或定义类中的每个TestCase方法的行为,扩展测试方法的功能。诸如打开关闭资源,创建删除临时文件,超时控制,异常处理,获取当前TestCase方法名等

6. Test Fixtures 

可以指定TestCase类加载前后,Method方法执行前后的行为

@BeforeClass     //类级别, 在类加载执行时,会被调用

@AfterClass        //类级别, 在类中所有TestCase执行结束时,会被调用

@Before        //方法级别, 在TestCase执行前会被调用

@After            //方法级别, 在TestCase执行后会被调用

7.  一般性功能

@FixMethodOrder         //指定测试类内的TestCase执行顺序

@Test(expected = IndexOutOfBoundsException.class)  //指定期望TestCase抛出的异常

@Ignore         //指定忽略该TestCase

@Test(timeout=1000) //指定TestCase最大超时时间

Code:

https://github.com/qianmin/learn-test/  

Reference:

http://junit.org/junit4/

https://github.com/junit-team/junit4/wiki

http://junit.org/junit4/javadoc/latest/index.html

时间: 2024-12-13 09:00:11

测试工具学习笔记 - JUnit4的相关文章

测试servlet学习笔记

操作方法: 1.新建工程: File-->new-->Java Project-->TestServlet(工程名称)-->Finish. 2.加载servlet-api.jar类包: TestServlet(右键)-->Build Path-->Configure Build Path-->Library -->Add External JAR Selection-->(浏览在tomcat的lib目录下找到servlet-api.jar选中后点击打开

rsync同步工具学习笔记

个人学习笔记,整理总结自某培训班授课视频,如有侵权请站内信联系. RSYNC工具功能: 1. 主机本地间的数据传输,类似于CP/RM命令. 例: 常用选项avz,保持文件属性,类似cp -d -p -r / -a 例: rsync删除方法: 新建空目录,用rsync -r --delete /空目录 /目标目录 注意目录名后要加/ 例: rsync删除原理:复制(删除复制) 见图: 2. 借助SSH/rcp通道传输数据,类似于SCP命令.    例:推送文件     例:拉取文件     3.

讯搜全文检索工具学习笔记

学习使用全文检索工具后,做一个小结. 其实这个工具用起来非常简单,只需要花几个小时专心阅读完开发手册就可以进入开发阶段了. 讯搜全文检索工具(Xunsearch) 首先它是一款开源的工具,和其它的开源工具一样,简单易用而且功能强大,并且性能也非常卓越. 分词与索引,是全文检索工具的关键. 讯搜底层采用 C/C++ 编写,索引设计基于著名而悠久的 Xapian,分词采用 自主研发同样也是开源的 SCWS分词,两者完美结合,理论上单个搜索库支持 40 亿条 记录.可编译运行于 Linux/FreeB

Gatling 测试工具学习

Gatling是一款基于Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标.Gatling主要用于测量基于HTTP的服务器,比如Web应用程序,RESTful服务等,除此之外它拥有以下特点: 支持Akka Actors 和 Async IO,从而能达到很高的性能 支持实时生成Html动态轻量报表,从而使报表更易阅读和进行数据分析 支持DSL脚本,从而使测试脚本更易开发与维护 支持录制并生成测试脚本,从而可以方便的生成测试脚本 支持导入H

软件测试之Web测试(学习笔记)

1.Web测试中相关的设置与查看方法 2.Web测试中截屏与录制屏幕操作过程 3.界面测试.功能测试.表单测试的验证要点 一.Web测试的特点 基于Web应用测试的特点是用户通过计算机中安装的浏览器就可以访问指定URL网页进行测试. 表单测试.功能测试.界面测试.安全测试 二.Web测试基础 在做Web应用软件测试时,需要准确的找到所使用的测试环境,包括使用的操作系统/浏览器/Flash播放器版本号. 1.获取软件版本号 获取当前使用的Windows操作系统版本(OS Version)信息 用鼠

JMeter常用测试元件—学习笔记

线程组 Ramp-Up Period:告诉JMeter达到最大线程数需要多长时间.假定共有10个线程,Ramp-Up Period为100秒,那么JMeter就会在100秒内启动所有线程,并让它们运转.每一个测试线程都会在上一个线程启动10秒之后才开始运行.假定共有30个线程,Ramp-Up Period为120秒,那么线程启动的间隔变为4秒. Ramp-Up参数不能设定得太短,否则在测试的初始阶段会给予服务器过大的压力.Ramp-Up参数也不能设定得太长,否则就会发生第一个线程已经执行完毕,而

五、搭建S3C6410开发板的测试环境—学习笔记

在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试.目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开发了扩展板. 下面对S3C6410开发板进行简单的介绍:三星S3C6410是一款低功耗.高性价比的RISC精简指令集系统的处理器,基于ARM11内核,可用于移动电话和通用处理等领域.它为通信服务提供了优化的硬件性能,内置强大的硬件加速器,有运动视频处理.音频处理.2D加速.显示处理和缩放等,还集成了

Deltasql 数据库版本管理工具学习笔记

一.Deltasql 功能 二.Deltasql服务器端和客户端的安装 2.1 Deltasql服务器端的安装 2.2 Deltasql客户端的安装 三.Deltasql的使用 四.Deltasql 原理 五.还待研究的地方 一.Deltasql 功能 目前我们对数据库的管理是比较少的,尤其在对数据库版本的控制方面.比如说当我们想恢复到以前的数据库版本,当客户A需要X版本的数据库,客户B需要Y版 本的数据库,当发布项目的时候项目的数据库和开发人员的数据库是否一致,等等这些问题解决起来还是会有一定

Robot Framework测试框架学习笔记

一.Robot Framework框架简介 Robot Framework是一种基于Python的可扩展关键字驱动自动化测试框架,通常用于端到端的可接收测试和可接收测试驱动的开发.可以用于测试声明涉及到多种技术和接口的分布式的,异构的应用系统. 测试用例位于HTML或者TSV(以tab分隔值)文件,使用在测试库中实现的关键词来在测试中运行程序.因为Robot Framework 是灵活和可扩展的,所以它很合适用于测试具有多种接口的复杂软件:用户接口,命令行,web service,编程接口等.