JUnit中的注解

JUnit中的注解

@Test

@Test基础

  • @Test用于表示注释的方法是一个测试方法。

  • @Test方法不能是私有的或静态的,也不能返回值。

  • @Test方法可以选择性地声明由ParameterResolvers解析的参数。

  • @Test也可以用作元注释,以创建继承@Test语义的自定义组合注释。

@Test属性

@DisplayName

@DisplayName基础

  • @DisplayName用于为标注的测试类或测试方法声明自定义显示名称。

  • 显示名称通常用于ide和构建工具中的测试报告,可能包含空格、特殊字符甚至表情符号。

  • 示例图

    在这里插入图片描述

@DisplayName属性

  • String value:注释类或方法的自定义显示名称。

@BeforeEach

@BeforeEach基础

  • @BeforeEach用于指示注释方法应该在当前测试类中的每个@Test、@RepeatedTest、@ParameterizedTest、@TestFactory和@TestTemplate方法之前执行。(执行多次

  • @BeforeEach方法必须有一个void返回类型,不能是private,也不能是静态的。它们可以选择性地声明由ParameterResolvers解析的参数。

@BeforeEach属性

@BeforeAll

@BeforeAll基础

  • @BeforeAll用于指示注释方法应该在当前测试类中的所有测试之前执行。(只执行一次

  • @BeforeAll方法必须有一个void返回类型,不能是private,默认情况下必须是静态的

@BeforeAll属性

@AfterEach

  • 作用与@BeforeEach相反,其它保持一致。

@AfterAll

  • 作用与@BeforeAll相反,其它保持一致。

@RepeatedTest

@RepeatedTest基础

  • 配置该方法要重复执行几次

  • @RepeatedTest方法不能是私有的或静态的,必须返回void。

@RepeatedTest属性

  • int value:重复的次数。

@Timeout

@Timeout基础

  • 指定这个测试方法多久未执行完成算超时

@Timeout属性

  • long value:此超时的持续时间。

  • TimeUnit unit:此超时的时间单位。(默认为秒)。详参:TimeUnit

TimeUnit

TimeUnit基础

  • 是一个枚举类型,用于定义时间超时的单位。

TimeUnit枚举值

  • DAYS:天

  • HOURS:小时

  • MINUTES:分钟

  • SECONDS:秒。【默认值】

  • MILLISECONDS:毫秒

  • MICROSECONDS:微秒

  • NANOSECONDS:纳秒

@Disabled

  • @Disabled用于表示注释测试类或测试方法当前是禁用的,不应该执行。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.junit 常用注解 @Before 初始化方法,每次测试方法调用前都执行一次。 @After 释放资源:每次测试方法调用后都执行一次 @Test 测试方法:在这里可以测试期望异常和超时时间 @ignore 忽略的测试方法 @BeforeClass 针对所有测试,只执行一次,且必须为static void @AfterClass 针对所有测试,只执行一次,且必须为static void @RunWith 指定测试类使用的某个运行器参数SpringJUnit4ClassRunner.class @Parameters 指定参数类的参数数据集合 @Rule 允许灵活添加或重新定义测试类的每个测试方法的行为 @FixMethodOrder 指定测试方法的执行顺序 @ContextConfiguration 参数locations="classpath:spring-mybatis.xml" 指向src下的该文件 执行顺序: @BeforeClass---@Before---@Test---@After---@Before ---@Test---@After---@AfterClass junit与main方法相比的优势:代码量少、结构清晰、灵活性更好 main:一个类只能有一个main方0法 层次结构方面不够清晰 运行具体某一个方法时,要将其他的方法注释掉 2.mybatis的基本配置 1.dao层接口 2.mapper.xml:编辑需要执行的sql语句 (1)mapper标签的namespace属性:指定该xml对应的dao层接口的路径 3.spring-mybatis.xml:spring集成mybatils的配置文件 (1)配置sqlSessionFactory指定要操作的数据库,以及mapper.xml的所在目录 (2)配置指定的dao层接口的目录 3.mybatis的注意事项 1.xml的sql不得有分号 2.sql语句操作的表明和列名 3.xml的小于号:$lt;大于号¥> 4.取变量时,如果dao层接口使用的是@param("别名")注解,则根据别名取值 5.mapper.xml$和#取值的区别 4.mybatis的xml如何设置返回值 resultType返回的数据类型 5.$和#区别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #{user_id},如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". 2. $将传入的数据直接显示生成在sql。如:order by ${user_id}, 如果传入 的值是id,则解析成的sql为order by id. 3. #方式能够很大程度防止sql注入。 4. $方式无法防止Sql注入。 5. $方式一般用于传入数据库对象,例如传入表名. 6. 一般能用#的就别用$ MyBatis排序时使用order by 动态参数时需要注意,用$而不是#
Spring JUnit5 注解测试是一种基于 JUnit5 平台的单元测试方法,通过使用 Spring 扩展提供的注解来实现依赖注入、AOP、事务控制等功能,从而方便地进行单元测试。 下面是 Spring JUnit5 注解测试常用的注解及其作用: 1. @ExtendWith(SpringExtension.class):指定运行测试的类为 SpringExtension,该类会创建 Spring 的上下文环境,并自动加载指定的配置文件或配置类。 2. @ContextConfiguration:指定 Spring 的配置文件或配置类,用于创建 Spring 的上下文环境。 3. @Autowired:自动装配 Spring 容器的 Bean,可以省略 setter 方法。 4. @Transactional:在测试方法添加该注解可以实现事务控制,测试方法执行完成后自动回滚事务。 5. @Test:用于标记测试方法。 下面是一个简单的 Spring JUnit5 注解测试的例子: ```java @ExtendWith(SpringExtension.class) @ContextConfiguration(classes = AppConfig.class) @Transactional public class UserServiceTest { @Autowired private UserService userService; @Test public void testAddUser() { User user = new User(); user.setUsername("test"); user.setPassword("123456"); userService.addUser(user); User addedUser = userService.getUserByName("test"); Assertions.assertEquals("test", addedUser.getUsername()); } } ``` 在该例子,@ExtendWith 指定了运行测试的类为 SpringExtension,@ContextConfiguration 指定了需要加载的配置类 AppConfig,@Transactional 用于进行事务控制,@Autowired 实现了依赖注入,@Test 标记了测试方法。相比于 Spring JUnit4 注解测试,Spring JUnit5 注解测试更加简洁、易读,而且支持更多的测试特性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值