测试类中注解

 

package com.wushq.projects.test;

import java.util.List;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;

import static org.mockito.Mockito.*;
import static org.junit.Assert.*;

@RunWith(MockitoJUnitRunner.class)
public class UseMockitoJUnitRunnerTest {

	@Mock
	private List mockList;

	@Test
	public void shorthand() {
		mockList.add(1);
		verify(mockList).add(1);
		assertEquals(1, mockList.get(0));
	}

}

 

 

 1. @RunWith

 如果一个类有@RunWith注解,或者,继承了一个有@RunWith注解的类,那么,JUnit将会调用@RunWith中指定的测试执行类而不是JUnit默认的执行类。

 

2. MockitoJUnitRunner

初始化带有Mock注解的Mock数据,所以,在使用此执行类时,不在需要在使用MockitoAnnotations.initMocks(this)初始化Mock数据。Mock数据会在每一个测试方法前初始化。

 

 

 

### Spring Boot 测试类的必要注解列表 在 Spring Boot 中,测试类通常需要添加以下注解来配置测试环境和测试方法。这些注解可以帮助开发者更方便地进行单元测试和集成测试。 1. **@SpringBootTest** 该注解用于加载整个 Spring 应用上下文,包括所有自动配置的 Bean。它适用于集成测试场景,可以模拟完整的 Spring Boot 应用程序[^2]。此外,它会自动检索程序的配置文件,检索顺序是从当前包开始,逐级向上查找被 `@SpringBootApplication` 或 `@SpringBootConfiguration` 注解的类[^1]。 2. **@RunWith(SpringRunner.class)** 该注解用于指定测试运行器为 `SpringRunner`,这是 JUnit 和 Spring 测试框架之间的桥梁。通过它,JUnit 测试可以访问 Spring 的上下文和其他功能[^3]。 3. **@WebMvcTest** 如果测试仅针对 Web 层(例如控制器),可以使用 `@WebMvcTest` 注解。它会加载 Web 层相关的组件,并提供对 MockMvc 的支持,从而简化 HTTP 请求的测试[^4]。 4. **@DataJpaTest** 当测试涉及数据库交互时,可以使用 `@DataJpaTest` 注解。它会配置一个内存数据库(如 H2),并加载 JPA 相关的组件,以便测试 Repository 层的功能[^5]。 5. **@MockBean** 该注解用于在测试中创建 Mock 对象,以替代实际的 Bean。这在需要隔离测试某些组件时非常有用。例如,可以通过 Mock 替代外部服务或复杂的依赖项[^5]。 6. **@Test** 该注解来自 JUnit 框架,用于标记测试方法。每个测试方法都应独立运行,并验证特定的功能逻辑[^5]。 7. **@Before、@After、@BeforeEach、@AfterEach** 这些注解用于定义测试前后的初始化和清理工作。例如,`@BeforeEach` 可以用来在每个测试方法执行前准备数据,而 `@AfterEach` 则用于清理资源[^5]。 8. **@ActiveProfiles** 如果应用程序有多个环境配置(如开发、测试、生产),可以通过 `@ActiveProfiles` 注解指定测试时使用的特定配置文件。 9. **@AutoConfigureMockMvc** 在某些情况下,可能需要单独启用 MockMvc 支持而不需要加载整个应用上下文。此时可以使用 `@AutoConfigureMockMvc` 注解[^4]。 10. **@ContextConfiguration** 该注解用于手动指定加载的配置类或 XML 文件。虽然 `@SpringBootTest` 通常能自动完成上下文加载,但在特殊情况下可能需要显式配置。 ```java @SpringBootTest @RunWith(SpringRunner.class) public class ExampleTest { @MockBean private SomeService someService; @Test public void testExample() { // 测试逻辑 } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值