junit
Junit4
@Test
@RunWith(Parameterized.class)
@BeforeClass
@Parameters
@SuppressWarnings
一、基本概念
测试方法:@Test注解一些函数
测试类:包含一个或多个测试方法的一个**Test.java文件
测试集:是一个suite,可能包含多个测试类
测试运行器:决定用什么方法执行测试集、测试类、测试方法
二、Junit4常见的参数
- @BeforeClass //类创建前必须为静态方法
比如建立连接、打开数据库、文件,只运行一次
注意:必须是public static void,即公开、静态、无返回。这个方法只会运行一次
- @Before
不止运行一次,它会在每个用例运行之前都运行一次。主要用于一些独立于用例之间的准备工作
比如两个用例都需要读取数据库里的用户A信息,但第一个用例会删除这个用户A,而第二个用例需要修改用户A。
注意:必须是public void,不能为static。不止运行一次,根据用例数而定。
- @Test
测试方法
4.@After
同Before 对应
5.@AfterClass
同BeforeClass 对应
6.@Runwith
放在测试类名之前,用例确定这个类如何运行,也可以不标注,会使用默认的运行器
A>@RunWith(Parameterized.clss)
参数运行器,配合@Parameters使用junit参数化功能
B> @RunWith(Suite.class)
@SuiteClasses({ATest.class,BTest.class,CTest.class})
测试集运行器配合使用测试集功能
注意:ATest、BTest、CTest为测试类
C> @RunWith(JUnit4.class)
Junit4默认运行器
D> @RunWith(JUnit38ClassRunner.class)
用于兼容junit3.8的运行器
E>其他运行器具备不同的功能
用于使用参数化功能
8.@SuppressWarnings("unchecked")
使用generics时忽略没有指定相应的类型
忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息
三、断言assert的使用
- assertEquals(a,b)判断预期结果和实际结果是否一致
举例:
int i=z.add(2,4);
assertEquals(5,i);
预期实际和实际结果不一致时输出:
- assertTrue(String message,boolean condition),判断预期结果和实际结果是否一致
举例:(用TestCase必须导入org.junit.Test)
import org.junit.Test;
int i=z.add(2,4);
String msg="期望结果:"+5+"实际结果:"+i;
TestCase.assertTrue(msg,5==i);
(或 assertTrue(msg,5==i);)
当预期结果和实际结果不一致时:
浙公网安备 33010602011771号