9.单元测试【白盒测试】
- JUnit:Java语言编写的开源的回归测试框架
相关概念 | 解释 |
---|---|
测试 | 被 @Test 注解定义的测试方法,为了运行这个方法,JUnit会创建一个包含类的新实例,然后在调用这个被注释的方法。 |
测试类 | 包含多个 @Test 注释方法的容器。 |
断言 | Assert 断言,为了进行验证,使用由JUnit的Assert类提供的assert方法。常用的assert方法: 1. assertEquals() :用来查看对象中存放的值是否是期望值2. assertFalse() 和assertTrue() :用来查看变量是否为false或true3. assertSame() 和assertNotSame() :用来比较两个对象的引用是否相等和不相等4. assertNull() 和assertNotNull() :用来查看对象是否为空和不为空 |
测试集 | Suite 是包含不同测试的容器,将多个相关的测试类归为一组,一起运行。@RunWith(Suite.class) @SuiteClasses({Test1.class, Test2.class}) public void TestSuitMain{ //将Test1和Test2中的测试用例均执行一遍 } |
测试运行器 | Runner 管理测试类的生命周期,用来运行测试。JUnit4是支持向后兼容的。JUnit 自带的几个测试运行器都继承了 org.junit.runner.Runner 类。 |
JUnit 3.x 版本通过测试方法的命名(test+方法名)来确定是否进行测试,并且所有的测试类都必须继承TestCase
。JUnit 4.x 版本全面引入了注解来执行测试用例。BeforeClass
、AfterClass
、After
、Before
、Test
、Ignore
。其中,BeforeClass
和 AfterClass
在每个类加载开始和结束时运行,需要设置静态 static
方法。Before
和 After
需要在每个测试方法开始之前和结束之后运行。
@BeforeClass
public static void beforeClassTest() {
System.out.println("单元测试开始之前执行初始化【静态方法】");
}
@Before
public void beforeTest() {
System.out.println("单元测试开始之前执行");
}
@Test
public void test() {
System.out.println("单元测试执行");
}
@After
public void afterTest() {
System.out.println("单元测试结束之后执行");
}
@AfterClass
public static void afterClassTest() {
System.out.println("单元测试结束之后执行【静态方法】");
}
注:
1. JUnit在