1. JUnit简介
1.1 概念
JUnit是一个java编程语言单元测试框架,其在测试驱动的开发方面有很重要的发展,是起源于JUnit的一个统称为xUnit的单元测试框架。JUnit使用的使用“先测试后编码”的理念
2. JUnit使用
2.1 使用注意事项
- 测试方法为public void方法(不带参数),且必须用@Test修饰
- 测试代码的包结构和测试代码包结构一致
- 测试方法之间不存在依赖
- 方法和类名命名规范
2.2 测试结果说明
Failure | 测试结果出现问题,表示该测试点出现问题 |
---|
error | 代码编写异常 |
2.3 常用注解
注解名 | 说明 |
---|
@Test | 修饰测试方法 |
@BeforeClass | 会在所有方法执行前被执行 |
@AfterClass | 会在所有方法执行之后执行 |
@Before | 会在每一个测试方法运行前执行一次 |
@ignore | 所修饰的测试方法会被测试运行器忽略 |
@After | 会在每一个测试方法运行后执行一次 |
@Runwith | 可以更改测试运行器 |
Parameters | 参数化注解 |
2.4 常用API
2.4.1 Assert类
JUnit断言方法(Assert类)JUnit断言方法 断言测试,也可以称为对Assert类的测试。所谓断言,就是主要是对检查测试方法的期望结果值和真实返回值
方法 | 描述 |
---|
void assertEquals(boolean expected, boolean actual) | 判断连expected和actual是否相等 |
void assertFalse(boolean condition) | 判断condition是否为假 |
void assertNotNull(Object object) | 判读对象不是空的 |
void assertNull(Object object) | 判断对象是空的 |
void assertTrue(boolean condition) | 判断条件是否为真 |
void fail() | 如果没有报告则测试不通过 |
2.4.2 TestCase类
测试类(TestCase):一个包含一个或是多个测试的类,在Junit中就是指的是包含那些带有@Test注解的方法的类,同一样也被称作“测试用例
方法 | 描述 |
---|
int countTestCases() | 执行的测试案例的数量 |
TestResult createResult() | 创建一个默认的TestResult对象 |
String getName() | 获得当前测试案例的方法名 |
TestResult run() | 运行测试,收集结果 |
void run(TestResult result) | 在TestResul中运行测试案例并收集结果 |
void setName(String name) | 设置Testcase的名称 |
void setUp() | 创建固定装置 |
void tearDown() | 拆除固定装置 |
String toString() | 返回测试案例中的一个字符串表示 |
2.4.3 TestResult类
测试结果类,用来处理测试用例或测试集执行过程中的所有信息并最终输出,比如代码错误、异常、断言失败、skip等等
方法 | 描述 |
---|
void addError(Test test, Throwable t) | 在错误列表中加入一个错误 |
void addFailure(Test test, AssertionFailedError t) | 在失败列表中加入一个失败 |
void endTest(Test test) | 显示测试被编译的这个结果 |
int errorCount() | 获取被检测出错误的数量 |
Enumeration errors() | 返回错误的详细信息 |
int failureCount() | 获取被检测出的失败的数量 |
void run(TestCase test) | 运行 TestCase |
int runCount() | 获得运行测试的数量 |
void startTest(Test test) | 声明一个测试即将开始 |
void stop() | 标明测试必须停止 |
2.4.4 TestSuit类
该类是测试的组成部分,它运行了很多测试案例
方法 | 描述 |
---|
void addTest(Test test) | 在套中加入测试。 |
void addTestSuite(Class<? extends TestCase> testClass) | 将已经给定的类中的测试加到套中 |
int countTestCases() | 对这个测试即将运行的测试案例进行计数 |
String getName() | 返回套的名称 |
void run(TestResult result) | 在TestResult 中运行测试并收集结果 |
void setName(String name) | 设置套的名称 |
Test testAt(int index) | 在给定的目录中返回测试 |
int testCount() | 返回套中测试的数量 |
static Test warning(String message) | 返回会失败的测试并且记录警告信息 |