Junit特点
JUnit 是一个开放的资源框架,⽤用于编写和运⾏测试。
提供注解来识别测试⽅方法。
提供断⾔言来测试预期结果。
JUnit 测试允许你编写代码更快,并能提高质量。
JUnit 优雅简洁。没那么复杂,花费时间较少。
JUnit测试可以自动运⾏并且检查⾃自身结果并提供即时反馈。所以也没有必要人工梳理测试结果的报告。
JUnit测试可以被组织为测试套件,包含测试⽤用例例,甚⾄至其他的测试套件。
JUnit在一个条中显示进度。如果运⾏行行良好则是绿⾊色;如果运⾏行行失败,则变成红⾊
Junit注解
Junit执行过程
套件测试
运行器RunWith
测试方法:用@Test注解的一些函数
测试类:包含一个或多个测试方法的一个ATest.java文件
测试集:是一个suite,可能包含多个测试类
测试运行器:决定了用什么方式偏好去运行这些测试集/类/方法。
常见运行器
@RunWith(Parameterized)参数化运行器,配合@Parameters使用Junit的参数化功能
@RunWith(Suite.class) @SuiteClasses(ATest.class,BTest.class,CTest.class)测试集运行器配合使用测试集功能
@RunWith(Junit4.class),Junit4的默认运行器
@RunWith(Junit38ClassRunner.class),用于兼容Junit3.8的运行器
一些其他运行器具备更多功能,例如@RunWith(SpringJunit4ClassRunner.class集成了Spring的一些功能
以suite为例:一些依赖关系的类可以用套件方法执行。
注意:此处配置的顺序是执行的顺序。
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestcaseSuite.case1.TestRun1.class
TestcaseSuite.case1.TestRun2.class
})
Junit4
Junit4注解
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
Junit4注解
@Test
@BeforeClass 必须用static修饰符,每个测试类执行之前需要执行
@AfterClass 必须用static修饰符,每个测试类执行之后需要执行
@Before 每个case执行前需要执行
@After 每个case执行后需要执行
@Ignore 忽略,不执行该case,写在@Test下,忽略某个case;写在class上,忽略整个类。
执行一个指定的类:mvn -Dtest=类名【此处的类名需要 copy reference】
如果报错导入
<build>
<defaultGoal>compile</defaultGoal>
</build>
执行test下的case:mvn clean test 报错,待解决