Junit5-24-Ex Exception Handle
TestExecutionExceptionHandler
TestExecutionExceptionHandler 为希望处理测试执行期间抛出的异常的扩展定义了API。
下面的示例显示了一个扩展,该扩展将包含IOException的所有实例,但将重新抛出任何其他类型的异常。
实例
IgnoreIOExceptionExtension.java
public class ...
2018-06-26 06:51:52 |
Test
Junit5-23-Ex Test Lifecycle Callbacks
测试声明周期回调
接口
下面的接口定义了在测试执行生命周期的各个点上扩展测试的api。请参阅下面的小节,了解示例和Javadoc中的每个接口
参见 org.junit.jupiter.api.extension
实现多个扩展api
扩展开发人员可以选择在一个扩展中实现任意数量的这些接口。
有关具体示例,请参阅 SpringExtension 的源代码。
开始和结束的回调...
2018-06-26 06:44:46 |
Test
Junit5-22-Ex Parameter Resolution
ParameterResolver
ParameterResolver 定义用于在运行时动态解析参数的扩展API。
如果测试构造函数或@Test、@RepeatedTest、@ParameterizedTest、@TestFactory、@BeforeEach、@BeforeAll或@AfterAll方法接受一个参数,那么参数必须在运行时由一个参数解析器解析。
参数解析器可以是内置的(...
2018-06-26 06:33:07 |
Test
Junit5-21-Ex Instance Post-processing
测试实例后处理
TestInstancePostProcessor 为希望发布流程测试实例的扩展定义了API。
常见的用例包括向测试实例注入依赖项、在测试实例上调用自定义初始化方法等。
示例
MockitoExtension
SpringExtension
测试实例后处理
示例
2018-06-26 06:28:16 |
Test
Junit5-20-Ex Condition Test
条件测试
ExecutionCondition 定义用于编程、条件测试执行的扩展API。
执行条件对每个容器(例如,测试类)进行评估,以确定它包含的所有测试是否应该基于提供的ExtensionContext执行。
类似地,对每个测试执行条件进行评估,以确定是否应该基于提供的ExtensionContext执行给定的测试方法。
当注册了多个执行条件扩展时,一旦其中一个条件返回为禁用状态,...
2018-06-26 06:14:31 |
Test
Junit5-19-Ex Register Extension
注册拓展
可以通过@ExtendWith以声明方式注册,可以通过@RegisterExtension以编程方式注册,也可以通过Java的ServiceLoader机制自动注册。
声明扩展注册
开发人员可以通过使用 @ExtendWith(…) 对测试接口、测试类、测试方法或自定义组合注释进行声明式注册一个或多个扩展,并为要注册的扩展提供类引用。
指定单个方法
例如,要为一个...
2018-06-26 05:50:48 |
Test
Junit5-18-Ex Overview
拓展模型
与JUnit 4对比,Runner、@Rule和@ClassRule扩展点不同,
JUnit Jupiter扩展模型由一个统一的概念组成:扩展(Extension) API。
但是请注意,这个扩展本身只是一个标记接口。
拓展模型
2018-06-26 05:33:57 |
Test
Junit5-17-Dynamic Tests
动态测试
在标注中描述的JUnit Jupiter中的标准@Test注释与JUnit 4中的@Test注释非常相似。两者都描述了实现测试用例的方法。这些测试用例是静态的,因为它们是在编译时完全指定的,并且它们的行为不能被运行时发生的任何事情所改变。假设提供了一种基本的动态行为形式,但在其表达性上却被故意限制。
除了这些标准测试之外,JUnit Jupiter还引入了一种全新的测试编程模型...
2018-06-25 11:33:12 |
Test