我必须与Web API进行交互。它接受post请求并返回XML数据。它需要在客户端进行大量异步处理,以便在发生故障时可以多次重试,而不会中断主客户端进程。代码需要经过充分测试。我正在创建一个模拟版本的API来进行本地测试,并编写连接到它的单元测试。这是一个很好的测试方法吗?我是否还应该使用客户端API的版本伪造与服务器的连接并且实际上没有连接? (只返回模拟数据)
我也试图找出请求/响应类的最佳架构。我应该将响应序列化为一个类吗?应该有某种映射文件将XML字段映射到类属性?我正在考虑为每个请求提供一个请求类,它遵循一个接口。然后我可以有一个ApiRequestSender类,还有一个AsyncApiRequestSender类,它发送请求并获得响应。我唯一感到困惑的是如何获得正确类型的响应,因为有4个。
提前致谢。我希望得到一些答案,但一般来说,当我问基于架构的问题时,我没有得到任何答复:<
答案 0 :(得分:1)
我认为嘲笑API是要走的路。目的是测试应用程序的客户端,而不是API是否可以连接,这对测试没有任何附加价值。
不要重新发明轮子:使用序列化而不是编写自己的映射机制。
答案 1 :(得分:1)
到目前为止绝对是一个很好的方法。
IService
或IRepository
实施&从Web API&中抽象出您的代码使用DI容器注入模拟实现以进行测试和应用程序的真正API HTH