2024年4月15日发(作者:)
junit5面试题
1. 请介绍一下JUnit5的基本概念和特点。
JUnit5是Java编程语言的一个单元测试框架,它是JUnit4的升级版
本,提供了更好的扩展性和易用性。JUnit5的主要特点包括:
- 基于注解的测试:JUnit5使用注解来定义测试方法和测试类,使得
测试代码更加简洁明了。
- 支持参数化测试:JUnit5支持使用@ParameterizedTest注解进行
参数化测试,可以方便地对多个输入参数进行测试。
- 支持嵌套测试:JUnit5允许在一个测试类中嵌套另一个测试类,这
样可以更好地组织和管理测试代码。
- 支持扩展机制:JUnit5提供了扩展机制,可以通过编写自定义注解
和规则来扩展框架的功能。
2. 请解释一下JUnit5中的注解和规则。
在JUnit5中,注解用于定义测试方法和测试类,规则用于定义测试执
行的行为。以下是一些常用的注解和规则:
- @Test:用于标记一个方法为测试方法,JUnit5会自动识别并执行这
个方法。
- @BeforeEach:用于标记一个方法在每个测试方法执行前都会执行
一次。
- @AfterEach:用于标记一个方法在每个测试方法执行后都会执行一
次。
- @BeforeAll:用于标记一个方法在所有测试方法执行前都会执行一
次。
- @AfterAll:用于标记一个方法在所有测试方法执行后都会执行一次。
- @DisplayName:用于设置测试方法的显示名称,方便阅读和理解
测试结果。
- @Disabled:用于禁用一个测试方法,使其不会被执行。
- @ExtendWith:用于指定一个类作为测试类的扩展,可以在这个类
中定义一些共享的资源和方法。
- @RepeatedTest:用于标记一个方法需要重复执行多次,可以使用
@RepeatedTest(n)指定重复次数。
- @Timeout:用于设置一个方法的非常大执行时间,如果超过这个时
间还没有执行完,则认为该方法失败。
3. 请介绍一下JUnit5中的断言(Assertions)。
断言是单元测试中非常重要的一个概念,它用于验证被测代码的行为
是否符合预期。在JUnit5中,断言是通过断言类和方法来实现的。以
下是一些常用的断言类和方法:
- assertEquals(expected, actual):用于判断两个值是否相等,如果
不相等则抛出异常。
- assertNotEquals(expected, actual):用于判断两个值是否不相等,
如果相等则抛出异常。
- assertTrue(condition):用于判断一个条件是否为真,如果为假则抛
出异常。
- assertFalse(condition):用于判断一个条件是否为假,如果为真则
抛出异常。
- assertNotNull(object):用于判断一个对象是否不为null,如果为
null则抛出异常。
- assertNull(object):用于判断一个对象是否为null,如果不为null
则抛出异常。


发布评论