当前位置: 首页 > news >正文

外贸网站建设策划西安北郊网站建设公司

外贸网站建设策划,西安北郊网站建设公司,软件学校网站模板,江西省城乡建设培训网-官方网站JUnit 5是一个功能强大的测试框架#xff0c;常用于编写和执行这些单元测试。以下是一些JUnit 5中的常用注解、断言、前置条件、嵌套测试和参数化测试的例子#xff1a; 1.环境启动 SpringBootTest 注解#xff1a; classes SmartApplication.class#xff1a;这个属性…JUnit 5是一个功能强大的测试框架常用于编写和执行这些单元测试。以下是一些JUnit 5中的常用注解、断言、前置条件、嵌套测试和参数化测试的例子 1.环境启动 SpringBootTest 注解 classes SmartApplication.class这个属性指定了一个或多个Spring Boot应用程序的启动类入口点。在测试中使用启动类可以让Spring Boot应用程序的上下文被加载以便进行测试。 webEnvironment属性: NONE: 不启动任何Web相关的环境通常用于不需要Web环境的测试。RANDOM_PORT: 随机分配一个端口来启动Web环境。ANY: 使用第一个可用端口来启动Web环境。MOCK: 使用MockMvc来模拟Web环境而不用启动真实的Web服务器。DEFINED_PORT: 使用在LocalServerPort或Value注解中定义的端口来启动Web环境。使用配置文件中定义好的端口 SpringBootTest(classes SmartApplication.class, webEnvironment SpringBootTest.WebEnvironment.DEFINED_PORT) class JunitApplicationTests {AutowiredTestService testService;Testvoid contextLoads() {System.err.println(测试启动);System.out.println(testService.test());}}2. 常用注解 Test用于标记一个方法作为测试方法。BeforeEach在每个测试方法之前执行一次。AfterEach在每个测试方法之后执行一次。BeforeAll在所有测试方法之前执行一次。AfterAll在所有测试方法之后执行一次。 import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.Test;public class MyServiceTest {private MyService service;BeforeAllpublic static void setup() {// 在所有测试之前执行的代码}BeforeEachpublic void setupEachTest() {// 在每个测试之前执行的代码service new MyService();}AfterEachpublic void teardown() {// 在每个测试之后执行的代码}AfterAllpublic static void teardown() {// 在所有测试之后执行的代码}Testpublic void myTestMethod() {// 测试逻辑} } 3.模拟发送HTTP请求 断言 Assertions.assertEquals(expected, actual)断言期望值与实际值相等。Assertions.assertNotEquals(unexpected, actual)断言期望值与实际值不等。Assertions.assertNull(object)断言对象为null。Assertions.assertNotNull(object)断言对象不为null。Assertions.assertTrue(condition)断言条件为true。Assertions.assertFalse(condition)断言条件为false。 使用RestTemplate发送请求 ExtendWith(SpringExtension.class) ContextConfiguration(classes YourApplication.class) public class YourControllerTest {Autowiredprivate RestTemplate restTemplate;Testpublic void should_handle_request_correctly() {// 模拟请求String url http://example.com/api;HttpEntityString request new HttpEntity(some request body, headers);// 发送请求ResponseEntityString response restTemplate.exchange(url, HttpMethod.POST, request, String.class);// 断言assertEquals(HttpStatus.OK, response.getStatusCode());assertEquals(expected response body, response.getBody());} } 使用Mock发送请求 import static org.junit.jupiter.api.Assertions.assertEquals; import static org.mockito.Mockito.when;import java.util.HashMap; import java.util.Map;import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.Mock; import org.mockito.junit.jupiter.MockitoExtension; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; import org.springframework.http.MediaType; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import org.springframework.test.web.servlet.setup.MockMvcBuilders;import com.example.yourproject.controller.YourController;ExtendWith(MockitoExtension.class) SpringBootTest(webEnvironment WebEnvironment.RANDOM_PORT) public class YourControllerTest {Mockprivate YourController yourController;private MockMvc mockMvc;BeforeEachpublic void setUp() {mockMvc MockMvcBuilders.standaloneSetup(yourController).build();}Testpublic void testYourController() throws Exception {// 准备请求参数MapString, String requestParams new HashMap();requestParams.put(param1, value1);requestParams.put(param2, value2);// 设置模拟的响应String expectedResponse {\message\:\Hello World!\};when(yourController.yourMethod(requestParams)).thenReturn(expectedResponse);// 发送请求并验证结果mockMvc.perform(MockMvcRequestBuilders.post(/your-endpoint).contentType(MediaType.APPLICATION_JSON).content(JSON.toJSONString(requestParams))).andExpect(MockMvcResultMatchers.status().isOk()).andExpect(MockMvcResultMatchers.content().contentType(MediaType.APPLICATION_JSON_VALUE)).andExpect(MockMvcResultMatchers.jsonPath($.message).value(Hello World!));}}
http://www.pierceye.com/news/798906/

相关文章:

  • access数据库做网站自贸区注册公司有什么优势
  • 福州做网站公司企信网企业信用信息系统黑龙江
  • 网站建设先学什么保定徐水网站建设
  • 济南网站建设哪个好电商创业
  • 如何在年报网站上做遗失公告天津做企业网站公司
  • 嘉兴网站关键词排名网页制作与设计课程设计报告
  • 室内装饰网站模板网络营销的策略
  • 如何做网站充值58百度搜索引擎
  • 专门做衣服的网站有哪些广告公司名字怎么取
  • 亚马逊如何做折扣网站的营销在线3d建模网站
  • 深圳市seo网站设计dz做的网站容易收录吗
  • 西安手机网站wordpress 绑定两个域名
  • 郑州定制网站推广工具平面设计接私活一般多少钱
  • 俄语网站模板网站建设外包网
  • 专门做淘宝特价的网站做网络推广一般是什么专业
  • 网站互动怎么做手机论坛网站
  • 企业免费网站系统wordpress default template
  • 怎样做软件网站酒店的网络营销是什么
  • 企业为什么做网站 图片做美团网站多少钱
  • 社交网站建设网站内容策划方案
  • 二手商品网站制作软件公司取名字大全
  • 网站页面切换效果抚顺市营商环境建设局网站
  • 网站开发选择什么软件互联网营销设计
  • 网站推广结束语如何评价一个网站做的好不好
  • 连云港做网站推广网站建设为什么需要备案
  • 网站建站步骤在越南做一个网站怎么做
  • 怎么在word里做网站wordpress 父页面跳转
  • 网站添加验证码WordPress食谱小程序
  • 网站打包app公明做网站
  • 服装网站设计策划工业设计最吃香的专业