教育企业网站源码,xampp wordpress安装教程,免费网站搭建平台,扬州市市政建设处网站前言
大家好#xff0c;我是chowley#xff0c;通过前篇的JUnit实践#xff0c;我对这个框架产生了好奇#xff0c;除了断言判断#xff0c;它还有哪些用处呢#xff1f;下面来总结一下它的常见注解及作用。
正文
在Java单元测试中#xff0c;JUnit是一种常用的测试框…前言
大家好我是chowley通过前篇的JUnit实践我对这个框架产生了好奇除了断言判断它还有哪些用处呢下面来总结一下它的常见注解及作用。
正文
在Java单元测试中JUnit是一种常用的测试框架它提供了丰富的注解用于标识测试方法、设置测试环境以及控制测试执行流程。除了用于断言判断之外JUnit的注解还有许多其他用途。
JUnit Jupiter支持以下注解来配置测试并扩展框架。
除非另有说明否则所有核心注解都位于junit-jupiter-api模块的org.junit.jupiter.api包中。
注解描述Test标识一个方法为测试方法。与JUnit 4的Test注解不同此注解不声明任何属性因为JUnit Jupiter中的测试扩展是基于它们自己的专用注解操作的。此类方法会被继承除非它们被覆盖。ParameterizedTest标识一个方法为参数化测试。此类方法会被继承除非它们被覆盖。RepeatedTest标识一个方法为重复测试的测试模板。此类方法会被继承除非它们被覆盖。TestFactory标识一个方法为动态测试的测试工厂。此类方法会被继承除非它们被覆盖。TestTemplate标识一个方法为测试用例的模板设计用于根据注册的提供程序返回的调用上下文次数多次调用。此类方法会被继承除非它们被覆盖。TestClassOrder用于配置被注解测试类中的Nested测试类的测试类执行顺序。此类注解会被继承。TestMethodOrder用于配置被注解测试类中的测试方法执行顺序类似于JUnit 4的FixMethodOrder。此类注解会被继承。TestInstance用于配置被注解测试类的测试实例生命周期。此类注解会被继承。DisplayName为测试类或测试方法声明自定义显示名称。此类注解不会被继承。DisplayNameGeneration为测试类声明自定义显示名称生成器。此类注解会被继承。BeforeEach标识应在当前类中的每个Test、RepeatedTest、ParameterizedTest或TestFactory方法之前执行的方法类似于JUnit 4的Before。此类方法会被继承除非它们被覆盖或替代即仅基于签名替换而不考虑Java的可见性规则。AfterEach标识应在当前类中的每个Test、RepeatedTest、ParameterizedTest或TestFactory方法之后执行的方法类似于JUnit 4的After。此类方法会被继承除非它们被覆盖或替代即仅基于签名替换而不考虑Java的可见性规则。BeforeAll标识应在当前类中的所有Test、RepeatedTest、ParameterizedTest和TestFactory方法之前执行的方法类似于JUnit 4的BeforeClass。此类方法会被继承除非它们被隐藏、覆盖或替代即仅基于签名替换而不考虑Java的可见性规则并且必须是静态的除非使用了“每类”测试实例生命周期。AfterAll标识应在当前类中的所有Test、RepeatedTest、ParameterizedTest和TestFactory方法之后执行的方法类似于JUnit 4的AfterClass。此类方法会被继承除非它们被隐藏、覆盖或替代即仅基于签名替换而不考虑Java的可见性规则并且必须是静态的除非使用了“每类”测试实例生命周期。Nested标识一个非静态嵌套测试类。在Java 8到Java 15中除非使用“每类”测试实例生命周期否则不能直接在Nested测试类中使用BeforeAll和AfterAll方法。从Java 16开始BeforeAll和AfterAll方法可以声明为Nested测试类中的静态方法并且可以使用任何测试实例生命周期模式。此类注解不会被继承。Tag用于在类级别或方法级别声明标记以过滤测试类似于TestNG中的测试组或JUnit 4中的Categories。此类注解在类级别继承但在方法级别不继承。Disabled用于禁用测试类或测试方法类似于JUnit 4的Ignore。此类注解不会被继承。Timeout用于如果执行超过给定持续时间则失败测试、测试工厂、测试模板或生命周期方法。此类注解会被继承。ExtendWith用于声明性地注册扩展。此类注解会被继承。RegisterExtension用于通过字段编程方式注册扩展。除非被隐藏否则此类字段会被继承。TempDir用于通过字段注入或参数注入在生命周期方法或测试方法中提供临时目录位于org.junit.jupiter.api.io包中。
通过合理使用这些注解可以更好地控制测试的行为并且提高代码的可测试性和可维护性。
好了以上就是本文的全部内容如有问题欢迎留言讨论。
本人正在组建测试开发方向的交流社区如果您对软件质量管理方面感兴趣欢迎私信我了解。
我是chowley一个专注互联网技术和软件质量保障领域的博主我们下次再见
欢迎点赞、评论、收藏its important for me.
欢迎点赞、评论、收藏its important for me.
欢迎点赞、评论、收藏its important for me.