【发布时间】:2011-10-17 08:25:50
【问题描述】:
我正在尝试练习 TDD 并有一个练习要做。 在互联网的某个地方部署了一个现有的服务,该服务具有公共 RESTful api。 对此 api 的每个请求都需要一些数据准备,例如有效的请求字符串构造、一些加密、一些正文消息格式等。 我想使用 TDD 为该服务编写通用客户端。
我知道这并不像例如StringCalculator kata,并且需要一些不同的方法。
我不知道如何开始。我想在不使用真实服务的情况下对其进行测试,因此需要一种虚假的 impl。编写一些假实现,将其部署在本地主机上并从我的测试中调用它会更好吗?或者可以模拟一个负责发送 http 请求的类?
我希望我的客户使用情况如下:
public class ServiceClientTest {
@Test
public void testSendStoreRequest() {
ServiceClient client = new ServiceClient("app_key", "private_key")
ClientResponse response = client.sendStoreRequest(StorageType.NORMAL, "string_to_store");
assertEquals("200", response.getStatus());
}
}
你能告诉我如何开始吗? 我应该从自下而上开始编写所有组件(用于创建请求字符串、用于加密等),然后在 ServiceClient 中全部使用它们,还是应该从自上而下和模拟的 ServiceClient 测试和实现开始?
【问题讨论】: