【C#编程最佳实践 十三】接口测试实践

简介: 【C#编程最佳实践 十三】接口测试实践

进入前后端分离开发的第二个阶段,也就是和前端联调之前,自己首先应该调试下接口是否能跑通,也就是接口测试,这样在和前端联调的时候能够做到心中有数,快速定位问题所在。

接口测试与单元测试

单元测试

单元测试我认为更多的是对通用的最基础方法的测试,换句话说,就是不掺杂业务的测试,应用最多的场景可以说就是对数据的增删改查的测试,一个好的规范的单元测试可以保证小规模代码块功能的正常实现,且该部分代码一般来说是被大量引用的。关于单元测试,我在另一篇博文里有详细提到:

传送门 http://blog.csdn.net/sinat_33087001/article/details/78563929

接口测试

接口测试我认为是对一个最基本的业务模块的测试也就是通常意义上的一个方法的实现,接口测试往往就涉及业务,并且需要网页访问,和前端联调前需要确认返回结果,该部分代码不会被大量引用,是和业务紧密相关的。

接口测试与单元测试的区别

1,单元测试需要自己编写;接口测试不需要,只要使用工具就好,例如PostMan

2,单元测试和业务关联性很小,基本无关;接口测试和业务紧密关联

3,单元测试多应用在provider层,和数据有交互的地方,在写这部分代码时就顺便编写;接口测试多在Controller层,在和前端交互的地方,在和前端联调之前使用工具做好接口测试

测试工具PostMan

下载

该工具性能强大,具体怎么用我这里不再赘述,已经有人详细的做了介绍,地址如下:

尊重原创版权:传送门http://blog.csdn.net/u013613428/article/details/51557804

下载的话需要翻墙,需要VPN,这里为了方便大家,我将下载好的放到百度云盘上,大家可以随意下载

下载地址 https://pan.baidu.com/s/1Ya9VfFxHs8omo0Jewfkujw

介绍

主面板

主面板主要分三个区域,一个是历史和集合管理一个是新建请求一个是返回值查看

历史和集合部分

主面板作半部分可以创建文件夹,每一个请求可以说是最基本的业务功能,那么更大的一整块儿功能就以文件夹的形式而存在,Collections里也可以再细分,按照功能布局可以层层添加

创建url部分

创建url部分,左上部分可以选择接口访问方式,get或者是post,还有多种选择,但不常用。中间是域名填写的地方,下半部分是添加参数的地方,key是参数名,value是参数值

特别特别注意:*postman依据接口接收类型自动识别传入参数类型,所以填写的字符串什么的不用加双引号*,这里是个大坑,我之前分参数类型传入,结果不识别双引号,导致获取不到数据,坑了很久,值得特别注意

返回值查看

多种返回值查看方式可以查看,无论是xml还是json,等等,常用的是json

导出

也可以将已经完成的接口测试导出来,给前端使用,只要和前端约定好,就可以做到不需要天天跑到前端开发那里开会,一份json格式的导出文件搞定一切

疑惑和后续需要学习

1,postman在测试接口的时候,可能接口功能内部需要一些值(并非通过参数获取,而是上下文赋值),这种情况该怎么使用postman

2,302跳转请求的时候postman怎么处理

传入参数为对象

2018-3-09更新

前端调整

如果前端传入参数为对象,则postman需要做调整

1,首先传递类型为post

2,在Header中创建 key:Content-Type, value:application/json

3,在body的参数传递中改为row

后端用动态类接收参数

传入参数为dynamic,动态类,接收后赋值,前端可以选择传几个参数,后端如果没有接收到前端参数,赋默认值null,所以如果是int类型的化,要看以下注意:

注意:int类型的需要一次类型转换,否则如果不传会报错。

添加cookie

1,首先获取页面的cookie

2,然后再postman里添加cookie

3,名为name,值为value

调试

vs断点调试,非常好用,只需附加到进程并且打好断点,从postman发请求就可以直接跳到对应的断点上

注意,附加的时候是w3wp.exe

如果遇到目标与源不一致的情况的时候,可以依照如下步骤解决

1,等待1分钟左右

2,重新生成解决方案3

3,关闭vs,重新生成解决方案

相关文章
|
人工智能 自然语言处理 安全
学不会编程也能写测试?AI让测试更平权
在传统的软件开发体系中,测试常被划分为“技术型测试”(如自动化、性能、安全)和“业务型测试”(如功能验证、用户体验)。前者掌握技术话语权,后者则更多依赖经验和流程规范。然而,随着大语言模型(LLM)等AI技术的迅猛发展,这一固有格局正被悄然打破:
428 10
|
存储 算法 安全
如何控制上网行为——基于 C# 实现布隆过滤器算法的上网行为管控策略研究与实践解析
在数字化办公生态系统中,企业对员工网络行为的精细化管理已成为保障网络安全、提升组织效能的核心命题。如何在有效防范恶意网站访问、数据泄露风险的同时,避免过度管控对正常业务运作的负面影响,构成了企业网络安全领域的重要研究方向。在此背景下,数据结构与算法作为底层技术支撑,其重要性愈发凸显。本文将以布隆过滤器算法为研究对象,基于 C# 编程语言开展理论分析与工程实践,系统探讨该算法在企业上网行为管理中的应用范式。
335 8
|
9月前
|
XML 前端开发 C#
C#编程实践:解析HTML文档并执行元素匹配
通过上述步骤,可以在C#中有效地解析HTML文档并执行元素匹配。HtmlAgilityPack提供了一个强大而灵活的工具集,可以处理各种HTML解析任务。
401 19
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1611 23
|
10月前
|
存储 机器学习/深度学习 监控
公司监控软件有哪些?监测方案:基于布隆过滤器的 C# 异常行为检测实践探索
本文探讨了布隆过滤器在公司监控软件中的技术应用,介绍其原理、优势及C#实现代码,助力企业高效构建数据安全防护体系。
271 0
|
10月前
|
监控 算法 C#
C#与Halcon联合编程实现鼠标控制图像缩放、拖动及ROI绘制
C#与Halcon联合编程实现鼠标控制图像缩放、拖动及ROI绘制
2210 0
|
监控 算法 安全
公司电脑监控软件关键技术探析:C# 环形缓冲区算法的理论与实践
环形缓冲区(Ring Buffer)是企业信息安全管理中电脑监控系统设计的核心数据结构,适用于高并发、高速率与短时有效的多源异构数据处理场景。其通过固定大小的连续内存空间实现闭环存储,具备内存优化、操作高效、数据时效管理和并发支持等优势。文章以C#语言为例,展示了线程安全的环形缓冲区实现,并结合URL访问记录监控应用场景,分析了其在流量削峰、关键数据保护和高性能处理中的适配性。该结构在日志捕获和事件缓冲中表现出色,对提升监控系统效能具有重要价值。
346 1
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
2140 24
|
存储 监控 算法
基于 C# 时间轮算法的控制局域网上网时间与实践应用
在数字化办公与教育环境中,局域网作为内部网络通信的核心基础设施,其精细化管理水平直接影响网络资源的合理配置与使用效能。对局域网用户上网时间的有效管控,已成为企业、教育机构等组织的重要管理需求。这一需求不仅旨在提升员工工作效率、规范学生网络使用行为,更是优化网络带宽资源分配的关键举措。时间轮算法作为一种经典的定时任务管理机制,在局域网用户上网时间管控场景中展现出显著的技术优势。本文将系统阐述时间轮算法的核心原理,并基于 C# 编程语言提供具体实现方案,以期深入剖析该算法在局域网管理中的应用逻辑与实践价值。
322 5
|
SQL 测试技术
除了postman还有什么接口测试工具
最好还是使用国内的接口测试软件,其实国内替换postman的软件有很多,这里我推荐使用yunedit-post这款接口测试工具来代替postman,因为它除了接口测试功能外,在动态参数的支持、后置处理执行sql语句等支持方面做得比较好。而且还有接口分享功能,可以生成接口文档给团队在线浏览。
693 2