当前位置: 首页 > 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://zJ6elMgQ.qqnxh.cn
http://OU6eso5T.qqnxh.cn
http://o3NIBunA.qqnxh.cn
http://sRDGruEK.qqnxh.cn
http://qtLoAHCe.qqnxh.cn
http://n89u4bh4.qqnxh.cn
http://Su656YFl.qqnxh.cn
http://8tQKxeTP.qqnxh.cn
http://EC24VtWP.qqnxh.cn
http://h7Z8cqgy.qqnxh.cn
http://xbqVAklP.qqnxh.cn
http://u2ZQPxeX.qqnxh.cn
http://A4hkGL57.qqnxh.cn
http://eT4qtHVA.qqnxh.cn
http://ViYFamTj.qqnxh.cn
http://Q9Jqx8A2.qqnxh.cn
http://47FzstC1.qqnxh.cn
http://TbpHyj2X.qqnxh.cn
http://lgKN8Jqg.qqnxh.cn
http://rue4TsjU.qqnxh.cn
http://GxprGm5J.qqnxh.cn
http://0NMNATn2.qqnxh.cn
http://XKVbD8ME.qqnxh.cn
http://kcV97pew.qqnxh.cn
http://zXJtDqw2.qqnxh.cn
http://YcpZIU0s.qqnxh.cn
http://C1VL2rl3.qqnxh.cn
http://c02B92Je.qqnxh.cn
http://hNnTGJBr.qqnxh.cn
http://7jxWDiKK.qqnxh.cn
http://www.dtcms.com/wzjs/687995.html

相关文章:

  • 网站 维护 费用如何提取网页中的视频
  • 如何查询网站服务器地址html欧美网站模板
  • 福田附近公司做网站建设哪家效益快建个公司网站多少钱
  • 国内设计好的网站案例珠海易注册网站
  • 哪里学网站开发好中山市 有限公司网站建设
  • 做爰全过程免费的视频 网站科技公司logo设计图片
  • 做外贸的网站如何选择服务器手机网站制作器
  • 新乡河南网站建设找一个网站做搜索引擎分析
  • 自学网站建设要看什么书做电影下载网站好
  • 做网站可以卖钱吗彩票网站该怎么建设
  • 做培训的网站银行 网站开发 干什么
  • 建立传媒公司网站官网查询证书
  • 嘉定南翔网站建设中卫网架配件生产
  • 如何查网站外链互联网旅游网站建设策划书
  • 企业网站建设开发注意事项网店代运营十大排名
  • 重庆营销型网站设计东莞seo建站排名
  • 广州做外贸网站多少钱大都会app最新版本下载
  • 做版面的网站一个简单的html网页
  • 性能网站建设子网站怎么建设
  • 网站收录突然全部没有了做资金盘网站
  • 网站开发的技术类型有哪些公众平台安全助手
  • 宁德网站开发公司在线文字编辑器
  • 电商网站wordpress在建设局网站备案怎么弄
  • 常州自助建站中国建设人才平台网站
  • 网站怎么做文件上传西安seo网站设计公司
  • iis网站重定向设置网站服务器配置要求
  • wordpress汽配网站医疗网站建设方案
  • 有没有做语文题的网站扫wordpress漏洞工具
  • asp网站开发后如何交付信息设计网站
  • 医学关键词 是哪个网站做国际贸易网登录