我们如何测试 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 可以作为应用程序安装,也可以通过浏览器发送,如下所示。

获取所有学生的请求和响应

获取学生 ID 的请求和响应


相关文章