频道栏目
首页 > 资讯 > 其他 > 正文

junit5 入门系列教程之参数化测试解决方案(Parameter Resolution)

18-06-29        来源:[db:作者]  
收藏   我要投稿

ParameterResolver

ParameterResolver 定义用于在运行时动态解析参数的扩展API。

如果测试构造函数或@Test、@RepeatedTest、@ParameterizedTest、@TestFactory、@BeforeEach、@BeforeAll或@AfterAll方法接受一个参数,那么参数必须在运行时由一个参数解析器解析。

参数解析器可以是内置的(参见TestInfoParameterResolver),也可以由用户注册。

一般来说,参数可以通过名称、类型、注释或其任何组合来解析。对于具体的示例,请参考
CustomTypeParameterResolver 和 CustomAnnotationParameterResolver 的源代码。

注意

由于在JDK 9之前的JDK版本上,javac生成的字节代码中有一个错误,因此可以通过核心 java.lang.reflect.Parameter 直接查找关于参数的注释对于内部类构造函数(例如,@嵌套测试类中的构造函数) API总是失败的。

因此,提供给参数解析器实现的ParameterContext API包含以下方便的方法,用于正确查找关于参数的注释。强烈建议扩展作者使用这些方法,而不是使用
java.lang. reflection.Parameter 中提供的方法。以避免JDK中的这个bug。

相关TAG标签
上一篇:Climbing Stairs 爬楼梯问题解析
下一篇:开发工具gcc编译方法
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站