iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >对ASP.Net的WebAPI项目进行测试
  • 699
分享到

对ASP.Net的WebAPI项目进行测试

2024-04-02 19:04:59 699人浏览 泡泡鱼
摘要

如果项目采取前后端分离的模式进行开发,那么我们的webapi最终是需要提供给前端页面来进行调用的。 那么在进行对接之前必须要保证我们的WEBapi没有Bug,在这种情况下作为开发者对

如果项目采取前后端分离的模式进行开发,那么我们的webapi最终是需要提供给前端页面来进行调用的。

那么在进行对接之前必须要保证我们的WEBapi没有Bug,在这种情况下作为开发者对API的自行测试就显得尤为重要。

WebAPI的测试推荐两种方式进行:

  • (1)使用PostMan测试WebAPI;
  • (2)在WebAPI中集成swagger

一、利用PostMan测试WebAPI

PostMan的安装和基本使用:

1.官方下载地址:https://www.postman.com/downloads/

2.启动后可以跳过输入账号步骤

3.点击+号或者“新建请求”来创建一个新的请求

4.PostMan的工作界面

(1)测试Get接口

实体类:

public class Student
{
    public string StuNo { get; set; }    //学号
    public string StuName { get; set; }  //姓名
    public string StuSex { get; set; }   //性别
    public Student(string no, string name, string sex)
    {
   		this.StuNo = no;    this.StuName = name;    this.StuSex = sex;
    }
}

API接口:

public List<Student> Get()
{
    List<Student> list = new List<Student>();
    list.Add(new Student("001", "孙悟空", "男"));
    list.Add(new Student("002", "猪八戒", "男"));
    list.Add(new Student("003", "白骨精", "女"));
    return list;
}

接口测试:

  • 【1】输入API地址;
  • 【2】请求方法选择GET;

(2)测试POST接口

  • 【1】输入API地址;
  • 【2】请求方法选择POST;
  • 【3】在Body中输入请求体中的参数名和值;

实体类:

public class Student
{
    public string StuNo { get; set; }    //学号
    public string StuName { get; set; }  //姓名
    public string StuSex { get; set; }   //性别
    public Student(string no, string name, string sex)
    {
   		this.StuNo = no;    this.StuName = name;    this.StuSex = sex;
    }
}

API接口:

public IHttpActionResult Post([FromBody] Student stu)
{
    string str = string.FORMat("Post类型获取的数据(学号:{0},姓名:{1},性别:{2})", stu.StuNo, stu.StuName, stu.StuSex);
    return JSON(new { Msg = str });
}

接口测试:

(3)其它接口测试

常见的接口类型有GET,POST,PUT,DELETE类型,其中PUT类型和DELETE类型的测试在学习后面的RESTFul API中可进行。

二、在WebAPI中集成Swagger

在使用WebAPI开发完接口之后,编写API说明文档是一件繁琐的事情,但是有了Swagger,就可以快速地自动生成API说明。

Swagger 是一个规范和完整的框架,用于可视化地生成、描述、调用WebAPI文档。

【1】打开Nuget 包管理软件,查找 swagger,进行Swashbuckle 组件的安装

【2】开启项目的XML注释位置(选中项目,右键-->属性-->生成-->输出-->XML文档文件)

【3】在App_Start中中会自动生成SwaggerConfig配置文件,对此文件进行修改。

找到如下代码,修改版本号及标题:

c.SingleApiVersion("v1", "Chp02-项目测试");

找到如下代码,将注释进行打开:

//c.IncludeXmlComments(GetXmlCommentsPath());

添加GetXmlCommentsPath()函数,函数中的路径填写步骤2中设置的路径

public static string GetXmlCommentsPath()
{
	return $@"{System.AppDomain.CurrentDomain.BaseDirectory}\bin\WebApplication1.XML";
}

【4】访问Swagger UI,通过如下地址访问:

http://localhost:65075/swagger

如果Swagger UI中中文显示乱码,则可以选中SwaggerConfig文件,选择文件-->高级保存选项,将编码设置为UTF-8。

【5】利用Swagger UI进行API接口的测试:

到此这篇关于测试asp.net WebAPI项目的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 对ASP.Net的WebAPI项目进行测试

本文链接: https://www.lsjlt.com/news/147607.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 对ASP.Net的WebAPI项目进行测试
    如果项目采取前后端分离的模式进行开发,那么我们的WebAPI最终是需要提供给前端页面来进行调用的。 那么在进行对接之前必须要保证我们的WebAPI没有Bug,在这种情况下作为开发者对...
    99+
    2024-04-02
  • ASP.NET Core项目使用xUnit进行单元测试
    目录一、前言二、创建示例项目1、UnitTest.Model2、UnitTest.Data3、UnitTest.IRepository4、UnitTest.Repository5、U...
    99+
    2024-04-02
  • ASP.NET Core项目如何使用xUnit进行单元测试
    小编给大家分享一下ASP.NET Core项目如何使用xUnit进行单元测试,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言在以前的.NET Fr...
    99+
    2023-06-29
  • 在TypeScript项目中进行BDD测试
    目录什么是BDDGherkin语法给TypeScript项目配置BDD测试框架Cucumber.js什么是BDD BDD(Behavior-Driven Design)是软件团队的一...
    99+
    2024-04-02
  • 测试银行项目
    简历上银行项目  -================================================== •项目一:平安新e贷 •项目描述:新e贷是一个,专注于磷矿产业、小型物流运输企业和个人车贷,平台资金由平安银行存管,安...
    99+
    2023-09-02
    python 可用性测试 单元测试
  • 如何在一个解决方案中对webAPi进行调试/单元测试
    要在一个解决方案中对Web API进行调试和单元测试,可以按照以下步骤进行:1. 使用一个开发工具,如Visual Studio,创...
    99+
    2023-09-26
    webAPi
  • Go单元测试对GORM进行Mock测试
    目录前言项目准备初始化测试工作对Create进行Mock测试Get 操作的Mock测试Update 操作的Mock测试总结前言 在 Go 单元测试这个系列的第二部分 数据库...
    99+
    2024-04-02
  • 如何进行po+selenium+unittest自动化测试项目实战
    如何进行po+selenium+unittest自动化测试项目实战,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、项目工程目录:二、具体工程文件代码:新建一个包名:com...
    99+
    2023-06-22
  • Go单元测试对数据库CRUD进行Mock测试
    目录前言go-sqlmock安装使用示例miniredis安装使用示例总结前言 最近在实践中也总结了一些如何用表格驱动的方式使用 gock Mock测试外部接口调用。以及怎么对GOR...
    99+
    2024-04-02
  • 对Entity Framework Core进行单元测试
    一、引言 我们先来讲解如何对EntityFrameworkCore进行单元测试,这里我们使用内存数据库进行测试。使用内存数据库需要安装Microsoft.EntityFramewor...
    99+
    2024-04-02
  • 怎么对SOCKS5代理进行测试
    本篇内容介绍了“怎么对SOCKS5代理进行测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!许多朋友不知道socks5代理IP和HTTP代理...
    99+
    2023-06-20
  • 如何对服务器进行速度的测试
    对服务器进行速度测试的方法:1、在服务器后台终端命令窗口中使用tracert命令进行测试;2、在服务器中打开DOS命令窗口,使用ping命令进行测试;3、使用GTmetrixgtmetrix网站速度测试工具对服务器进行网站速度测试;4、利用...
    99+
    2024-04-02
  • 【星云测试】开发者测试-采用精准测试工具对Spring Boot应用进行测试
    简介:本文主要介绍把现今主流的springboot框架项目和精准测试工具进行结合和应用,通过精准测试的数据穿透、数据采集、测试用例与代码的双向追溯、数据分析等一系列精准测试的特有功能,达到对项目质量的保证。 本次环境搭建分为基础环...
    99+
    2023-06-02
  • 怎么对Linux系统进行压力测试
    这篇文章将为大家详细讲解有关怎么对Linux系统进行压力测试,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。为什么你会想给你的 Linux 系统施加压力呢?因为有时你可能想知道当一个系统由于大量运行的进程、...
    99+
    2023-06-15
  • 如何对Entity Framework Core进行单元测试
    这篇文章主要介绍如何对Entity Framework Core进行单元测试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、引言我们先来讲解如何对EntityFrameworkCore进行单元测...
    99+
    2023-06-29
  • python性能测试对手机号绑定进行压测
    目录引言业务逻辑:基本的校验规则如下:解决方案:测试方案:压测脚本:模块类方法:引言 最近遭遇了绑定手机号相关的压测需求,有了手机号登录的经验和测试数据,这次算起来比较简单。最重要的...
    99+
    2024-04-02
  • 如何使用单元测试框架对 Golang 函数进行测试?
    go 中使用单元测试框架进行单元测试:导入 testing 包。编写以 test 为前缀的单元测试函数。使用断言函数(如 assertequal())验证测试结果。运行单元测试(go t...
    99+
    2024-04-16
    golang 单元测试 标准库
  • 利用 httptest 对 http 请求进行重试单元测试
    哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《利用 httptest 对 http 请求进行重试单元测试》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关...
    99+
    2024-04-04
  • 谈谈项目的重构与测试
    这篇文章摘自我的博客, 欢迎大家没事去逛逛~ 背景 这几个月我开发了公司里的一个restful webservice,起初技术选型的时候是采用了flask框架。虽然flask是一个同步的框架,但是可以配合gevent或者其它方式运行在异步...
    99+
    2023-01-31
    重构 测试 项目
  • python接口测试对修改密码接口进行压测
    目录引言测试脚本代码usercenter主要代码okaybase主要代码引言 做接口测试中,对于一般性的单业务接口测试很多工具可供选择,但是对于一些相关业务相关性的关联接口测试就比较...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作