如何找到提供人工智能自动建站服务的公司?
摘要:人工智能自动做网站,做网站平台公司,名贵中药材初加工平台,基于wordpress学校网站Spring框架提供了很多注解来辅助完成单元测试和集成测试(备注:这里的集成测试指容器内部的集成测试&#x
人工智能自动做网站,做网站平台公司,名贵中药材初加工平台,基于wordpress学校网站Spring框架提供了很多注解来辅助完成单元测试和集成测试(备注#xff1a;这里的集成测试指容器内部的集成测试#xff0c;非系统间的集成测试)#xff0c;先看看Spring框架提供了哪些注解以及对应的作用。RunWith(SpringRunner.class) / ExtendWith(SpringExtension.class)这里的集成测试指容器内部的集成测试非系统间的集成测试)先看看Spring框架提供了哪些注解以及对应的作用。RunWith(SpringRunner.class) / ExtendWith(SpringExtension.class) 用于在测试类中启用 Spring 框架的支持。RunWith 是 JUnit 4 的注解而 ExtendWith 是 JUnit 5 的注解用于取代 RunWith。 这些注解会加载 Spring 上下文支持 Spring 相关的功能如依赖注入和使用 Spring 注解等。SpringBootTest 用于在测试类中加载完整的 Spring Boot 应用程序上下文。自动配置应用程序上下文包括所有的配置、Bean 和组件以及所有相关的依赖项。通常与 RunWith 或 ExtendWith 一起使用。AutoConfigureMockMvc 自动配置 MockMvc 对象用于模拟 Spring MVC 请求和响应。通常与 SpringBootTest 结合使用用于测试 MVC 控制器层的行为。DataJpaTest 用于测试与 JPA 相关的功能。自动配置嵌入式数据库并加载与 JPA 相关的组件。仅加载 JPA 相关的组件提高测试的精确性和速度。WebMvcTest 用于测试 Spring MVC 控制器层的功能。自动配置 MockMvc并加载控制器层相关的组件如控制器、拦截器等。通常需要手动指定需要加载的其他组件。DataMongoTest 用于测试与 MongoDB 相关的功能。自动配置嵌入式 MongoDB并加载与 MongoDB 相关的组件。RestClientTest 用于测试使用 Spring 的 RestTemplate 进行 HTTP 请求的功能。自动配置 RestTemplateBuilder并加载相关的组件。Sql 用于在测试执行前或执行后运行 SQL 脚本。可以用于准备测试数据或清理测试环境。TestPropertySource 用于在测试中指定要加载的属性文件。可以覆盖应用程序中的属性配置方便测试不同的配置。
可以看到在上面的注解中AutoConfigureMockMvc和WebMvcTest都是用于测试Controller层的测试那么他们之间有什么区别呢AutoConfigureMockMvc 用于单元测试或轻量级的集成测试只自动配置 MockMvc主要关注控制器的行为测试。WebMvcTest 用于集成测试除了自动配置 MockMvc还会加载控制器层相关的组件可以测试整个控制器层的功能和交互。
上面是一些概念介绍下面看看具体例子。如下图所示controller层中有一个post方法为这个post方法编写单元测试里面用的了mockMvc注解。对于Controller class依赖的usersService Class下面的测试中用了MockBean注解这样可以在后面控制usersService的行为例如 given(userService.createUser(any(UserDto.class))).willReturn(userDto);因为对userService的行为进行的stub这样controller层方法返回的结果也是受控制的在后面的单元测试中就隔离了对usersService实际结果的依赖只测试controller层的代码逻辑。 为了更好的理解mockMvc可以再看下面一个更简单的例子下面例子中左边是一个BookController的假代码右边是对这个Controller的单元测试代码。class上面使用WebMvcTest注解用MockBean管理依赖的服务bookService用mockMvc模拟发起请求接着通过.andExpect()验证得到的结果是否符合预期。 上面是编写单元测试如果要为controller层的接口编写容器内的集成测试呢具体测试如下所示集成测试中会用到SpringBootTest注解用restTemplate在启动的本地端口上调用controller层的接口然后校验接口返回内容。 除了controller层的单元测试和集成测试我们再来看看spring框架提供的其他常用注解使用例子。
