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

潍坊网站外包大众网站平安建设之星

潍坊网站外包,大众网站平安建设之星,拓普建站推广,网站建设项目描述目录 一、快速入门RestAssured JUnit 5 1. 添加 Maven 依赖 2. 编写测试用例​​​​​​​ 二、关键功能扩展 1. 参数化测试 (TestNG​​​​​​​) 2. 集成 Spring Boot (MockMvc)​​​​​​​ 3. 模拟外部服务 (WireMock)​​​​​​​ 在Java生态中&#xff0c…

目录

一、快速入门RestAssured + JUnit 5

1. 添加 Maven 依赖

2. 编写测试用例​​​​​​​

二、关键功能扩展

1. 参数化测试 (TestNG​​​​​​​)

2. 集成 Spring Boot (MockMvc)​​​​​​​

3. 模拟外部服务 (WireMock)​​​​​​​


在Java生态中,有几个流行的接口测试框架,比如RestAssured、JUnit、TestNG、Spring Test等。其中,RestAssured专门用于RESTful接口的测试,而JUnit和TestNG是单元测试框架,但也可以用于接口测试。Spring Test则是在Spring框架中进行集成测试的工具。

如果项目使用Spring Boot,可以考虑使用Spring Test中的`TestRestTemplate`或`WebTestClient`。

图片

如果更喜欢用纯Java代码且不想依赖太多库,可以使用Java自带的HttpURLConnection或Apache HttpClient,但需要自己封装断言。

一、快速入门RestAssured + JUnit 5

1. 添加 Maven 依赖​​​​​​​

<dependencies>    <!-- RestAssured -->    <dependency>        <groupId>io.rest-assured</groupId>        <artifactId>rest-assured</artifactId>        <version>5.3.2</version>        <scope>test</scope>    </dependency>    <!-- JUnit 5 -->    <dependency>        <groupId>org.junit.jupiter</groupId>        <artifactId>junit-jupiter</artifactId>        <version>5.9.2</version>        <scope>test</scope>    </dependency></dependencies>

2. 编写测试用例​​​​​​​

import org.junit.jupiter.api.Test;import static io.restassured.RestAssured.*;import static org.hamcrest.Matchers.*;public class ApiTest {    @Test    void testGetUser() {        given() // 请求配置            .baseUri("https://jsonplaceholder.typicode.com")            .queryParam("id", 1)        .when() // 发送请求            .get("/users")        .then() // 验证响应            .statusCode(200)            .body("name[0]", equalTo("Leanne Graham"))            .body("email[0]", containsString("@"));    }    @Test    void testPostUser() {        String jsonBody = """            {                "name": "John Doe",                "email": "john@example.com"            }            """;        given()            .baseUri("https://jsonplaceholder.typicode.com")            .header("Content-Type", "application/json")            .body(jsonBody)        .when()            .post("/users")        .then()            .statusCode(201)            .body("id", notNullValue());    }}

二、关键功能扩展

1. 参数化测试 (TestNG​​​​​​​)

import org.testng.annotations.DataProvider;import org.testng.annotations.Test;@Testpublic class DataDrivenTest {    @DataProvider    public Object[][] userData() {        return new Object[][] {            {1, "Leanne Graham"},            {2, "Ervin Howell"}        };    }    @Test(dataProvider = "userData")    void testUserById(int userId, String expectedName) {        given()            .pathParam("id", userId)        .when()            .get("https://jsonplaceholder.typicode.com/users/{id}")        .then()            .body("name", equalTo(expectedName));    }}

2. 集成 Spring Boot (MockMvc)​​​​​​​

@SpringBootTest@AutoConfigureMockMvcpublic class SpringApiTest {    @Autowired    private MockMvc mockMvc;    @Test    void testGetUser() throws Exception {        mockMvc.perform(MockMvcRequestBuilders.get("/users/1")                .accept(MediaType.APPLICATION_JSON))                .andExpect(status().isOk())                .andExpect(jsonPath("$.name").value("Leanne Graham"));    }}

3. 模拟外部服务 (WireMock)​​​​​​​

import com.github.tomakehurst.wiremock.WireMockServer;import static com.github.tomakehurst.wiremock.client.WireMock.*;@Testvoid testWithMockServer() {    WireMockServer wireMock = new WireMockServer(8089);    wireMock.start();       // 配置模拟响应    stubFor(get(urlEqualTo("/mock/user"))        .willReturn(aResponse()            .withHeader("Content-Type", "application/json")            .withBody("{\"name\": \"Mock User\"}")));    // 测试代码调用 localhost:8089/mock/user    // ... (使用 RestAssured 或 HttpClient)       wireMock.stop();}

根据项目的情况,可以采取以下方式。简单 REST 测试RestAssured + JUnit 5;Spring Boot 项目Spring Test + MockMvc;复杂测试流程TestNG + RestAssured;微服务契约测试Feign + Pact。


文章转载自:

http://u6L9tbbD.jrLbj.cn
http://7uqY4yg8.jrLbj.cn
http://P2KNH4y1.jrLbj.cn
http://8FLUL9l5.jrLbj.cn
http://fd8FQEBC.jrLbj.cn
http://vVartDYQ.jrLbj.cn
http://PzzERB94.jrLbj.cn
http://xiEdkkdb.jrLbj.cn
http://yuJ6VVxu.jrLbj.cn
http://EjGs2hNp.jrLbj.cn
http://YZhpEN2c.jrLbj.cn
http://3u7rACGQ.jrLbj.cn
http://3qLPfJ91.jrLbj.cn
http://k7pcA56W.jrLbj.cn
http://xsKQsggt.jrLbj.cn
http://vIXYiEY8.jrLbj.cn
http://hcur8btE.jrLbj.cn
http://btyehs6s.jrLbj.cn
http://1PylxHaU.jrLbj.cn
http://hKwSkuOy.jrLbj.cn
http://OVCovr8U.jrLbj.cn
http://IXVZgZvG.jrLbj.cn
http://zzXBbZY0.jrLbj.cn
http://rhmhfEly.jrLbj.cn
http://EhZ66TZt.jrLbj.cn
http://62DMC2Cu.jrLbj.cn
http://1UBGlHPY.jrLbj.cn
http://enzuKXmM.jrLbj.cn
http://RONGoUZy.jrLbj.cn
http://KhAHydyd.jrLbj.cn
http://www.dtcms.com/wzjs/640216.html

相关文章:

  • 长沙做网站的包吃包住4000东莞网站的建设
  • 专业网站设计流程图新手如何制作一个网页
  • 郑州正规的网站建设价格西安seo王尘宇
  • 5000做网站wordpress换域名了 登陆不了
  • 万州工程建设招投标网站设计素材网站无版权
  • 宁波咨询网站设计柳州市建设工程质量安全监督管理处网站
  • 网站开发安装湖南网站推广营销设计
  • 四川网站建设seo优化网站建设 方案下载
  • 西部数码网站管理系统定制工作服
  • 网站建设知名公司龙岗做企业网站
  • 北京通网站建设价格域名可以做网站
  • 郴州免费招聘网站网站卖掉被拿来做网站了
  • 无锡高端网站建设装修免费咨询
  • 网站建设中 显示网站互动设计方式
  • 做网站公司在哪asp网站开发的实训
  • 中国电商建站程序wordpress标题标签
  • flash网站建设技术精粹天河建设网站公司排名
  • 网站建设评比细则学校网站建设的意义的主要负责人
  • 南京电商网站开发公司青岛seo外包服务
  • 谷歌官方网站首页wordpress注册添加算术验证
  • 企业网站设计收费营销图片素材
  • wordpress分类搜索大网站如何优化
  • 建筑工程网上报建网站诚信手册网站建设搜索
  • 汕头网页建站模板php做的网站怎么调试
  • 打开建设银行官方网站首页河南智慧团建官网
  • 滁州市南谯区规划建设局网站咖啡网页怎么制作
  • 苏州网站开发公司wordpress输出副标题
  • 英文网站建设技术呼和浩特微信小程序公司
  • 微信网站开发需要什么技术上海网站建设网页制作怎么样
  • 如何查做的网站排名培训报名