如何测试C# Asp.Net WebAPI?
测试 WebApi 包括发送请求和接收响应。有多种方法可以测试 WebApi。在这里,我们将使用 postman 和 swagger 来测试 WebApi。让我们像下面一样创建一个 StudentController。
学生模型
namespace DemoWebApplication.Models{ public class Student{ public int Id { get; set; } public string Name { get; set; } } }
学生控制器
示例
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 及其文档的同步。
在我们的应用程序中,使用 Manage Nuget 包安装 swagger。
运行我们的 WebApi 项目并在 url 中输入 **swagger/ui/index**。
swagger 将自动列出控制器及其操作方法,如下所示。我们可以展开相应的控制器并使用我们的请求测试端点。
获取所有学生请求
获取所有学生响应
获取学生 ID 请求
获取学生 ID 响应
使用 Postman 测试
Postman 是一款流行的 API 客户端,使开发人员能够轻松创建、共享、测试和记录 API。这是通过允许用户创建和保存简单和复杂的 HTTP/s 请求以及读取其响应来实现的。结果 - 更有效率且工作量更少。Postman 可以作为应用程序安装,也可以像下面这样通过浏览器发送。
获取所有学生请求和响应
获取学生 ID 请求和响应
广告