-
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
-
Junit5-16-Template
测试模板
@TestTemplate方法不是常规的测试用例,而是测试用例的模板。
因此,根据注册提供程序返回的调用上下文的数量,将多次调用它。
因此,它必须与注册的 TestTemplateInvocationContextProvider 扩展一起使用。
测试模板方法的每次调用都表现为对相同生命周期回调和扩展的完全支持的常规@Test方法的执行。
请参阅为使用示例提供测试模板的调用...
2018-06-25 11:25:34 |
Test