我们如何测试 C# Asp.Net WebAPI?
csharpserver side programmingprogramming更新于 2025/4/15 0:07:17
测试 WebApi 涉及发送请求和接收响应。有几种方法可以测试 WebApi。在这里,我们将使用 postman 和 swagger 测试 WebApi。让我们创建一个如下所示的 StudentController。
Student 模型
namespace DemoWebApplication.Models{ public class Student{ public int Id { get; set; } public string Name { get; set; } } }
Student 控制器
示例
using DemoWebApplication.Models; using System.Collections.Generic; using System.Linq; using System.Web.Http; namespace DemoWebApplication.Controllers{ public class StudentController : ApiController{ List<Student> students = new List<Student>{ new Student{ Id = 1, Name = "Mark" }, new Student{ Id = 2, Name = "John" } }; public IEnumerable<Student> Get(){ return students; } public Student Get(int id){ var studentForId = students.FirstOrDefault(x => x.Id == id); return studentForId; } } }
使用 Swagger 进行测试
Swagger 是用于记录 REST API 的规范。它指定了描述 REST Web 服务的格式(URL、方法和表示)。方法、参数和模型描述紧密集成到服务器代码中,从而保持 API 及其文档的同步。
在我们的应用程序中,使用管理 Nuget 包安装 swagger。
运行我们的 WebApi 项目并在 URL 中输入 swagger/ui/index。
swagger 将自动列出控制器及其操作方法,如下所示。我们可以扩展相应的控制器并使用我们的请求测试端点。
获取所有学生请求
获取所有学生的回应
获取学生 ID 请求
获取学生 ID 响应
使用 Postman 进行测试
Postman 是一个流行的 API 客户端,它使开发人员能够轻松创建、共享、测试和记录 API。这是通过允许用户创建和保存简单和复杂的 HTTP/s 请求以及阅读其响应来实现的。结果 - 工作更高效,更轻松。Postman 可以作为应用程序安装,也可以通过浏览器发送,如下所示。