WebApi 테스트에는 요청 전송 및 응답 수신이 포함됩니다. WebApi를 테스트하는 방법에는 여러 가지가 있습니다. 여기에서는 postman andswagger를 사용하여 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 웹 서비스를 설명하는 형식(URL, 메서드 및 표현)을 지정합니다. 메소드, 매개변수 및 모델 설명이 서버 코드에 긴밀하게 통합되어 API 및 해당 문서의 동기화를 유지합니다.
우리 애플리케이션에서 Nuget 패키지 관리를 사용하여 swagger를 설치합니다.
WebApi 프로젝트를 실행하고 swagger/ui/index를 입력합니다. .
swagger는 아래와 같이 컨트롤러와 해당 작업 방법을 자동으로 나열합니다. 각 컨트롤러를 확장하고 ourrequest를 사용하여 엔드포인트를 테스트할 수 있습니다.
모든 학생 요청 받기
모든 학생의 응답 받기
ID 요청을 위한 학생 가져오기
ID 응답을 위한 학생 확보
우편 배달부를 사용한 테스트
Postman은 개발자가 API를 쉽게 생성, 공유, 테스트 및 문서화할 수 있게 해주는 인기 있는 API 클라이언트입니다. 이것은 사용자가 단순하고 복잡한 HTTP/s 요청을 생성 및 저장하고 응답을 읽을 수 있도록 함으로써 수행됩니다. 결과 - 더 효율적이고 덜 지루한 작업. Postman은 애플리케이션으로 설치하거나 아래와 같이 브라우저를 통해 보낼 수 있습니다.
모든 학생 요청 및 응답 받기
ID 요청 및 응답을 위해 학생 받기