单元测试常用API

本文介绍了Java单元测试中常用的JUnit框架,包括断言方法如assert系列,以及@Test、@BeforeClass等注解的用法。同时,还探讨了Mockito库的关键功能,如mock对象、when-thenReturn策略和行为验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1) 断言的API

断言方法

断言描述

assertNull(String message, Object object)

检查对象是否为空,不为空报错

assertNotNull(String message, Object object)

检查对象是否不为空,为空报错

assertEquals(String message, Object expected, Object actual)

检查对象值是否相等,不相等报错

assertTrue(String message, boolean condition)

检查条件是否为真,不为真报错

assertFalse(String message, boolean condition)

检查条件是否为假,为真报错

assertSame(String message, Object expected, Object actual)

检查对象引用是否相等,不相等报错

assertNotSame(String message, Object unexpected, Object actual)

检查对象引用是否不等,相等报错

assertArrayEquals(String message, Object[] expecteds, Object[] actuals)

检查数组值是否相等,遍历比较,不相等报错

assertArrayEquals(String message, Object[] expecteds, Object[] actuals)

检查数组值是否相等,遍历比较,不相等报错

assertThat(String reason, T actual, Matcher<? super T> matcher)

检查对象是否满足给定规则,不满足报错

(2) JUnit常用注解:

1) @Test: 定义一个测试方法 @Test(excepted=xx.class): xx.class 表示异常类,表示测试的方法抛出此异常时,认为是正常的测试通过的 @Test(timeout = 毫秒数) :测试方法执行时间是否符合预期。

2) @BeforeClass: 在所有的方法执行前被执行,static 方法全局只会执行一次,而且第一个运行。

3) @AfterClass:在所有的方法执行之后进行执行,static 方法全局只会执行一次,最后一个运行。

4) @Before:在每一个测试方法被运行前执行一次。

5) @After:在每一个测试方法运行后被执行一次。

6) @Ignore:所修饰的测试方法会被测试运行器忽略。

7) @RunWith:可以更改测试执行器使用junit测试执行器。

Mockito 常用API:

1)       mock:模拟一个需要的对象

2)       when:一般配合thenXXX一起使用,表示当执行什么操作之后怎样。

3)       any:  返回一个特定对象的缺省值,上例中标识可以填写任何String类型的数据。

4)       thenReturn: 在执行特定操作后返回指定结果。

5)       spy:创造一个监控对象。

6)       verify:验证特定的行为。

7)       doReturn:返回结果。

8)       doThrow:抛出特定异常。

9)       doAnswer:做一个自定义响应。

10)     times:操作执行次数。

11)     atLeastOnce:操作至少要执行一次。

12)     atLeast:操作至少执行指定的次数。

13)     atMost:操作至多执行指定的次数。

14)     atMostOnce:操作至多执行一次。

15)     doNothing:不做任何的处理。

16)     doReturn:返回一个结果。

17)     doThrow:抛出一个指定异常。

18)     doAnswer:指定一个特定操作。

19)     doCallRealMethod:用于监控对象返回一个真实结果。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几行代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值