如何从一个RESTful api的TDD开始
|
我正在尝试练习TDD并进行练习.
我知道它并不像StringCalculator kata,需要一些不同的方法. 我不知道如何开始.我想在不使用真实服务的情况下测试它,因此需要一些假的impl.编写一些假实现,将它部署在localhost并从我的测试中调用它会更好吗?或者也许模拟一个负责发送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());
}
}
你能指点我如何开始这个吗? 您问题的理想解决方案似乎就是您开始描述的内容.您应该在项目中创建一个接口,该接口将代表外部服务. public interface CalculatorService {
int add(int a,int b);
}
这将是您的测试边界.所有UNIT和ACCEPTANCE测试都应针对CalculatorService的模拟或存根运行.他们会很快. 稍后,您将拥有一个实现远程HTTP休息服务的实现: class RemoteRestCalculator implements CalculatorService {
public int add(int a,int b) {
// call the remote service in here
}
}
你需要测试这个合同(边界).因此,您将为RemoteRestCalculator编写集成测试.您还可以使用RemoteRestCalculator运行应用程序来进行几对端到端测试,以测试接线等. 现在,回答你的问题,如何测试RemoteRestCalculator? >理想情况下,您将在测试环境中部署真正的http rest服务的实例,将其指向测试数据库等.因此,您与拥有该服务的人交谈,他们为您提供* .war文件并部署它本地与测试数据库等.有时他们为你做这个,该服务的“沙盒”部署.然后你编写针对该实例运行的RemoteRestCalculator的测试. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
