如何测试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 请求和响应

更新于: 2020-09-24

1K+ 浏览量

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告