我正在开发一个包含两个应用程序的项目:Android 应用程序(客户端)和 Rest 服务(服务器)。我的 Android 应用程序使用了我的 Rest 服务。
为确保它们都按预期运行,两个应用程序都是分开测试的。 在进行服务器测试时,我准备请求并检查服务器响应。 在进行客户端测试时,我设置了一个简单的 HTTP 模拟服务器,并对客户端的请求进行测试,以检查是否得到不同的模拟响应。
现在,这种技术效果非常好。它给了我喜欢的灵活性。我可以使用不同的测试框架和持续集成环境。但是有一个弱点,即在客户端和服务器的测试用例中,我都指定了相同的 API。我假设例如:
GET /foo-list.json
将返回HTTP 200及json。
[{
id: 1,
name: foo1,
}, {
id: 2,
name: foo2
}]
所以我重复一遍。如果我更改响应格式,我的客户测试不会失败。
我的问题是关于测试这种情况的良好实践。如何进行真正的集成测试,而不牺牲独立测试的灵活性。 我应该使用模拟服务器还是实际的REST服务来测试客户端?
请分享您的专业经验。