我正在使用两个应用程序开发项目:android app (client) 和 rest service (server)。我的 android 应用程序消耗了我的休息服务。
两个应用程序都经过单独测试,以确保它们按预期开展业务。在服务器测试期间,我准备请求并检查服务器响应。在客户端测试期间,我设置了一个简单的 http 模拟服务器并针对不同的模拟响应测试客户端的请求。
现在,这种技术效果很好。它给了我我喜欢的灵活性。我可以使用不同的测试框架和持续集成环境。但是有一个弱点。在(客户端和服务器)测试用例中,我指定了相同的 api。我假设例如
GET /foo-list.json
将返回带有 json 的 HTTP 200
[{
id: 1,
name: foo1,
}, {
id: 2,
name: foo2
}]
所以我重复自己。如果我更改响应格式,我的客户端测试将不会失败。
我的问题是关于测试这种场景的良好做法。如何在不牺牲独立测试灵活性的情况下进行真正的集成测试。我应该使用模拟服务器还是使用我的休息服务的真实实例来测试客户端?
请分享您的专业经验。