Junit 4 的使用
前言 【java中junit4的使用】本文会介绍junit4 的单元测试的使用方式,以及相关的注解。JUnit 4是一种与其之前的版本完全不同的API,它根据Java 5.0中的新特征(注解,静态导入等)构建而成。如你所见,JUnit 4更简单、更丰富和更易于使用,而且它引入了更为灵活的初始化和清理工作,还有限时的和参数化测试用例。
junit 4 使用方式 放在path里面
第一步:在你需要添加Junit的工程下,右键工程
第二步:点击configure Build Path…
第三步:点击Add Library
第四步:选中JUnit,点击Next
第五步:选中JUnit library version的版本,一般选中4
第六步:点击Finish
2.定义一个测试类.(不再继承TestCase类)
测试类的名字: XxxTest
3.在EmployeeDAOTest中编写测试方法:如
@Test
public void testXxx() throws Exception {
}
注意:方法是public修饰的,无返回的,该方法上必须贴有@Test标签,XXX表示测试的功能名字.
4.选择某一个测试方法,鼠标右键选择 [run as junit],或则选中测试类,表示测试该类中所有的测试方法.
以后单元测试使用最多的方式:
若要在测试方法之前做准备操作:
EmployeeDAOTest随意定义一个方法并使用@Before标注:
@Before
public void xx() throws Exception方法
若要在测试方法之后做回收操作:
EmployeeDAOTest随意定义一个方法并使用@After标注:
@After
public void xx() throws Exception方法
特点:每次执行测试方法之前都会执行Before方法,每次执行测试方法之后都会执行After方法;
有没有方式之初始化一次,和最终销毁一次呢?
@BeforeClass标签:在所有的Before方法之前执行,只在最初执行一次. 只能修饰静态方法
@AfterClass标签:在所有的After方法之后执行,只在最后执行一次.
junit4 断言 参考:https://www.cnblogs.com/xuyuanjia/p/6084755.html
文章图片
junit4 的常用注解
- junit4 的注解包括哪些
- 有些时候,一些测试需要共享代价高昂的步骤(如数据库登录),这会破坏测试独立性,通常是需要优化的
使用@BeforeClass注解一个public static void方法,并且该方法不带任何参数,会使该方法在所有测试方法被执行前执行一次,并且只执行一次
父类的@BeforeClass注解方法会在子类的@BeforeClass注解方法执行前执行。
- 当编写测试方法时,经常会发现一些方法在执行前需要创建相同的对象
使用@Before注解一个public void方法会使该方法在@Test注解方法被执行前执行(那么 就可以在该方法中创建相同的对象)
父类的@Before注解方法会在子类的@Before注解方法执行前执行
- @Test注解的public void方法将会被当做测试用例 JUnit每次都会创建一个新的测试实例,然后调用@Test注解方法
任何异常的抛出都会认为测试失败
@Test注解提供2个参数:
1,“expected”,定义测试方法应该抛出的异常,如果测试方法没有抛出异常或者抛出了一个不同的异常,测试失败
2,“timeout”,如果测试运行时间长于该定义时间,测试失败(单位为毫秒)
文章图片
(4)@After:
- 如果在@Before注解方法中分配了额外的资源,那么在测试执行完后,需要释放分配的资源。
使用@After注解一个public void方法会使该方法在@Test注解方法执行后被执行即使在@Before注解方法、@Test注解方法中抛出了异常,所有的@After注解方法依然会被执行,见示例父类中的@After注解方法会在子类@After注解方法执行后被执行
文章图片
文章图片
(5)@AfterClass:所有测试方法调用后执行一次,在测试类没有实例化之前就已被加载,需用static修饰;
- 如果在@BeforeClass注解方法中分配了代价高昂的额外的资源,那么在测试类中的所有测试方法执行完后,需要释放分配的资源。
使用@AfterClass注解一个public static void方法会使该方法在测试类中的所有测试方法执行完后被执行
即使在@BeforeClass注解方法中抛出了异常,所有的@AfterClass注解方法依然会被执行
父类中的@AfterClass注解方法会在子类@AfterClass注解方法执行后被执行
- 对包含测试类的类或@Test注解方法使用@Ignore注解将使被注解的类或方法不会被当做测试执行
JUnit执行结果中会报告被忽略的测试数
文章图片
- junit4 执行一个单元测试的顺序为
@BeforeClass -> @Before -> @Test -> @After -> @AfterClass;
每一个测试方法的调用顺序为:
@Before -> @Test -> @After;
推荐阅读
- 技术|测试用例编写
- 软件测试|流量回放和自动化测试的区别
- 自动化测试|2022年最新最全软件测试面试题大全
- 测试用例|实操自动生成接口自动化测试用例
- 软件测试|软件测试 - 基础篇
- 软件测试|软件测试 - 概念篇
- 经验分享|关于自动化接口测试平台的想法和实现,这个方法最简单真实有效
- 测试|【软件测试】基础用例篇
- 笔记|软件测试(二)——软件测试基础篇