Asp.Net WebApi 调试利器“单元测试”
当我们编辑好一个WebApi应用程序后,需要对该Api接口进行调试,传统的调试办法是在方法内设置断点,然后用PostMan等http工具模拟访问进行查看WebAPI的运行情况,但这种除了效率较低还进行出现http的请求无法准确“命中”方法的难题。
下面,我给大家推荐的是---"单元测试"
如何进行单元测试呢?
首先,我们在解决方案中新建一个ASP.NET WebAPI应用程序。
如图所示。
点击确定后,选择空 并勾选WebAPI
然后填加一个Vaule控制器
该ValueController的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http; namespace TestDemo.Controllers
{
public class ValueController : ApiController
{
[HttpGet]
public int Get(int x, int y)
{
return x + y;
}
}
}
一个很简单的API接口,接收两个Int类型数据返回两个数据之和。
我们当然知道,如果传入的x=1,y=2,那么返回的结果肯定是3,那么我们如何对这一结论进行测试呢?
下面就来讲讲单元测试的用法。在解决方案中选择新建项目 选择测试 目录下的单元测试。如图:
确认后,为了命名规范把第一个测试类命名成我们要测试的控制器的名称+Test,如图:
其次,需要填加对TestDemo也就是我么你要测试的那个项目的引用。选择引用,添加引用,然后勾选我们要测试的项目。
然后回到HomeControllerTest中,填加测试方法,该测试方法的代码如下:
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using TestDemo.Controllers; namespace WebApi_Test
{
[TestClass]
public class ValueControllerTest
{
[TestMethod]
public void TestMethod1()
{
var valueController = new ValueController();
var result = valueController.Get(1, 2);
Assert.AreEqual(3,result);
}
}
}
如果3和返回的结果相等,那么该测试就会通过,否侧测试不通过,运行单元测试的方法如图,
即可查看测试是否通过。
Asp.Net WebApi 调试利器“单元测试”的更多相关文章
- Swashbuckle一个webapi调试利器
开发weibapi通常会使用postman或者其他模拟http请求的工具去模拟请求.但是这些工具需要自己保存请求地址的url以及参数 每次我都是先查询wiki看参数. 看见同事再用Swashbuckl ...
- ASP.NET WebApi 依赖 SAP Connector dll 报错
说明 本地 VS 开发 ASP.NET WebApi 调试运行没有问题,但发布到服务器 IIS 上就报错.结果发现是 SAP 依赖库的问题:sapnco.dll.sapnco_utils.dll. 错 ...
- Asp.net WebApi + EF 单元测试架构 DbContext一站到底
其实关于webapi和Ef service的单元测试我以前已经写过相关文章,大家可以参考: Asp.net WebAPI 单元测试 单元测试 mock EF 中DbContext 和DbSet Inc ...
- Asp.net WebAPI 单元测试
现在Asp.net webapi 运用的越来越多,其单元而是也越来越重要.一般软件开发都是多层结构,上层调用下层的接口,而各层的实现人员不同,一般大家都只写自己对应单元测试.对下层的依赖我们通过IOC ...
- 采用Fiddler建立Asp.net webapi与Android/IOS调试环境
最近,他们正在做Android+Asp.net WebApi练习,通过发现visual studio debug模式启动Asp.net之后,无法响应Android寄过来http求,设置一个很好的休息不 ...
- Asp.Net WebAPI的简介及创建
一.WebAPI简介 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET F ...
- ASP.NET WebApi OWIN 实现 OAuth 2.0
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌, ...
- 使用Asp.net WebAPI 快速构建后台数据接口
现在的互联网应用,无论是web应用,还是移动APP,基本都需要实现非常多的数据访问接口.其实对一些轻应用来说Asp.net WebAPI是一个很快捷简单并且易于维护的后台数据接口框架.下面我们来快速构 ...
- 基于OWIN ASP.NET WebAPI 使用OAUTH2授权服务的几点优化
前面在ASP.NET WEBAPI中集成了Client Credentials Grant与Resource Owner Password Credentials Grant两种OAUTH2模式,今天 ...
随机推荐
- 监督学习:随机梯度下降算法(sgd)和批梯度下降算法(bgd)
线性回归 首先要明白什么是回归.回归的目的是通过几个已知数据来预测另一个数值型数据的目标值. 假设特征和结果满足线性关系,即满足一个计算公式h(x),这个公式的自变量就是已知的数据x,函数值h(x)就 ...
- php环境搭建和第一个php程序
一.开发环境搭建 因为是初学,使用的还是非常经典的组合appserv+dreamweaver cs6; 1.1 appserv安装 appserv的安装还是非常简单的,直接双击可执行程序appse ...
- [Python Study Notes]CS架构远程访问获取信息--Client端
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ...
- virsh 常用操作
virsh list 显示在运行的 虚拟机 virsh list --all 显示在运行和停止的虚拟机 ssh 192.168.0.115 通过网络连接子机 如果没有网络 可以通过 v ...
- Android -传统蓝牙通信聊天
概述 Android 传统蓝牙的使用,包括开关蓝牙.搜索设备.蓝牙连接.通信等. 详细 代码下载:http://www.demodashi.com/demo/10676.html 原文地址: Andr ...
- yml 文件操作方法
文件读取方法示例: import yaml fr = open('yml_file_address', 'r',encoding='utf-8') data = yaml.load(fr) print ...
- Java经典编程题50道之三
打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次 ...
- java12 - 正则表达式
正则表达式简介 常用搭配说明: ^a 表示这个位置只能是字母 a [1,2,3,4] 表示这个位置只能在 1,2,3,4 中取一个 [[a-z][A-Z]] 表示可以任意大小写字母 ([a-z]{1, ...
- FIO性能测试
FIO参数中,ioengine使用libaio,并发jobs数固定为1,通过iodepth来控制压力.分别测试随机读.随机写,作为读写的性能基准.不测试顺序读写,不测试混合读写. 1.测试IOPS峰值 ...
- J2ee的13个规范
以下来自于网络. 1.JDBC(java Database Connectivity): JDBC API为访问不同的数据库提供了一种统一的途径,就像ODBC一样,JDBC对开发者屏蔽了一些细节问题, ...