生命在于生生不止的学习。当你一片茫然的时候,请不要急躁,静下心来考虑,总会解决的。
-------------题外话
编写单元测试用例是开发人员必不可少的一项技能,本篇文章主要介绍两种重要的单元测试框架技术。
Junit和TestNG.
单元测试框架的要求:每一个单元测试独立于其他单元测试,产生错误被记录,用户轻松指定执行那些单元测试。
Junit:
主要讲解最新的Junit4框架,采用了java 5的Annotation技术
Junit4生命周期:类级初始化资源处理、方法级初始化资源处理、执行测试用例中方法、方法级销毁资源处理、类级销毁资源处理。
如果一个测试用例中编写多个初始化处理方法,运行时先执行最后面的初始化方法,然后依次往前执行,销毁资源处理方法,依照顺序往后执行。
@Test Junit中这个注解对于方法签名没有限制,标注一个测试方法,会生成一个测试用例运行
@BeforeClass 在一个Test类的所有测试方法执行前执行一次 public static
@AfterClass在一个Test类的所有测试方法执行后执行一次 一定会执行
@Before 在每个测试方法之前都会运行一次 public 非static
@After 在每个测试方法之后都会运行一次 一定会执行
异常测试 @Test传入expected参数值,如果没有抛出异常或抛出期待异常,即失败
超时测试 @Test,为timeout参数设置时间值。超过指定的毫秒数,即测试失败
参数化测试
为了程序的健壮性,需要模拟不同参数对方法进行测试,不需要为每个类型参数创建一个测试方法。
1.为参数化测试类用@RunWith注释指定特殊的运行器:Parameterized.class
2.在测试类中声明几个变量,分别用于存储期望值和测试用的数据,并创建一个带参的构造函数
3.创建一个静态测试数据供给方法,其返回类型为Collection,并用@Parameter注释以修饰。
4.编写测试方法@Test,不带参数,不能有参数
测试运行器
Junit中所有测试方法都由测试运行器负责执行。默认测试运行期BlockJUnit4ClassRunner
自己的运行器要继承org.junit.runner.Runner
参数化测试 @RunWith(Parameterized.class)
打包测试@RunWith(Suite.class) @SuiteClass({,,})
Junit4断言
assertArrayEquals(Object[] obj1,Object[] obj2);
assertThat断言 结合Hamcrest
assertThat(T actual,Matcher matcher);
assertThat(String reason,T actual,Matcher matcher)
Matchers匹配方法静态类
例子:
assertThat(tom.getCredits(),greaterThan(50));
相关推荐
Kali Linux渗透测试技术详解本书由浅入深地介绍了Kali Linux的各种渗透测试技术。书中选取了最核心和最基础的内容进行讲解,让读者能够掌握渗透测试的流程,而不会被高难度的内容所淹没。本书涉及面广,从基本的知识...
由于提供的文件内容中实际并未包含任何有关“测试技术与信号处理”的具体知识点,而是在不断重复一个网址(***|CAX|CG|EDA|FEM|CFD|Æì½¢ÏÂÔØÕ¾),这似乎是一系列与工程和计算机辅助技术(CAX)相关的缩写...
《电机现代测试技术》是宁德职业技术学院课程中的一部分,由武建文和李德成两位教授编著,许从增制作成课件。本部分为该课程的第一篇,主要涵盖了电机测试技术的基础理论和实践应用。电机作为电力系统的核心设备,其...
### 水声计量测试技术知识点解析 #### 一、水声计量测试技术概述 **水声计量测试技术**是研究水下声学信号的产生、传播、接收及其测量的一门学科。它广泛应用于海洋勘探、军事侦察、水下通信等领域。随着海洋经济...
"机械工程测试技术基础知识点总结" 测试技术是机械工程中不可或缺的一部分,是人们借助于一定的装置,获取被测对象有相关信息的过程。测试工作的目的是为了最大限度地不失真获取关于被测对象的有用信息。 1. 测试...
云计算的引入对计算机软件测试领域也产生了重大影响,本文将对基于云计算的计算机软件测试技术进行详细探讨。 首先,云计算环境为软件测试带来了诸多优势。在传统软件测试中,测试资源通常由本地服务器或者测试实验...
在航天领域,人工智能的应用已经成为推动发展的重要力量,特别是在卫星测试系统中,人工智能技术结合自动化测试技术,为测试工作带来了革命性的变革。 人工智能在卫星测试中的应用主要表现在以下几个方面: 首先,...
测试技术是信息技术领域中至关重要的一环,特别是在软件开发与维护过程中。中国矿业大学提供的这个测试技术课件PPT,无疑是对这一主题深入学习的重要参考资料。本文将基于课件标题、描述以及标签,深入探讨测试技术...
长期以来大家学习测试技术总是遇到这样那样的一些错误和困难,而且一路学习过来,总是感觉没有思路和章程。这是个人整理的一份有关测试的思维导图,都是采用图形的形式描述整个测试的相关技术文档和项目经验。比较的...
测试技术是指在软件开发过程中,为了确保软件产品的质量而采取的各种测试方法和手段。根据给定的文件内容,这里将详细分析和总结软件测试技术中的几个关键知识点,包括测试方法、测试方案、测试计划、自动化测试、...
计算机软件测试技术是保证软件产品质量的重要环节。在软件开发过程中,测试活动占据了相当大一部分的工作量与成本,有时甚至超过软件开发总成本和工作量的一半。虽然测试的重要性不言而喻,但测试技术的发展却远未...
测试技术是IT行业中一个至关重要的领域,主要关注的是软件产品的质量保证和缺陷预防。这份名为“测试技术答案(部分) 贾民平”的资源,由专家贾民平编写,涵盖了测试技术的部分关键内容,包括第1、3、5、7章的解答...
测试技术是IT行业中一个至关重要的领域,它涵盖了软件开发全生命周期的质量保证过程。这份"测试技术课件"显然是为了帮助那些希望通过自学提升测试技能的人准备的。以下将详细阐述测试技术的一些关键知识点: 1. **...