c# - 帮助构建可测试的 API 客户端

标签 c# vb.net

我必须与 Web API 交互。它接受 post 请求并返回 XML 数据。它需要在客户端进行大量异步处理,以便在失败时可以多次重试,而不会中断主客户端进程。代码需要经过良好的测试。我正在创建 API 的模拟版本以在本地进行测试,并编写连接到它的单元测试。这是测试的好方法吗?我是否还应该拥有伪造与服务器的连接但实际上并不连接的客户端 API 版本? (只返回模拟数据)

我也在尝试找出请求/响应类的最佳架构。我应该将响应序列化到一个类中吗?应该有某种将 XML 字段映射到类属性的映射文件吗?我正在考虑为每个请求创建一个请求类,它遵循一个接口(interface)。然后我可以有一个 ApiRequestSender 类,还有一个 AsyncApiRequestSender 类,它发送请求并获得响应。我唯一感到困惑的是如何获得正确键入的响应,因为有 4 个。

提前致谢。我希望得到一些答案,但通常当我询问基于架构的问题时,我不会得到任何回复:<

最佳答案

我认为模拟 API 是可行的方法。目的是测试您的应用程序的客户端,而不是 API 是否可以连接,这对您的测试没有任何附加值。

不要重新发明轮子:使用序列化而不是编写自己的映射机制。

关于c# - 帮助构建可测试的 API 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2607641/

相关文章:

c# - WebClient AsyncUpload 进度百分比始终返回 50%

c# - 切换到上一个事件的应用程序,例如 Alt-Tab

mysql - 错误插入日期mysql vb.net

.net - 企业库 RangeValidator 语法

c# - C# 6 中的 null 和字符串插值

c# - 与 Microsoft Enterprise Library 共享 MySQL 连接

c# - 使用 C# 类中的填充值生成模拟 XML 的工具

vb.net - Visual Studio 2012 无法编译 exe,没有代码错误

asp.net - 循环遍历页面上的每个文本框

mysql - 通过存储过程分配行号