我必须与 Web API 交互。它接受 post 请求并返回 XML 数据。它需要在客户端进行大量异步处理,以便在失败时可以多次重试,而不会中断主客户端进程。代码需要经过良好的测试。我正在创建 API 的模拟版本以在本地进行测试,并编写连接到它的单元测试。这是测试的好方法吗?我是否还应该拥有伪造与服务器的连接但实际上并不连接的客户端 API 版本? (只返回模拟数据)
我也在尝试找出请求/响应类的最佳架构。我应该将响应序列化到一个类中吗?应该有某种将 XML 字段映射到类属性的映射文件吗?我正在考虑为每个请求创建一个请求类,它遵循一个接口(interface)。然后我可以有一个 ApiRequestSender 类,还有一个 AsyncApiRequestSender 类,它发送请求并获得响应。我唯一感到困惑的是如何获得正确键入的响应,因为有 4 个。
提前致谢。我希望得到一些答案,但通常当我询问基于架构的问题时,我不会得到任何回复:<
最佳答案
我认为模拟 API 是可行的方法。目的是测试您的应用程序的客户端,而不是 API 是否可以连接,这对您的测试没有任何附加值。
不要重新发明轮子:使用序列化而不是编写自己的映射机制。
关于c# - 帮助构建可测试的 API 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2607641/