我有一个用Grails编写的RESTFul微服务。这个微服务有它自己的DB。它还取决于另外两个微服务。
该服务的典型工作流程为:
我想为此服务编写自动化测试。每当我进行测试时,它都会执行以下操作:
以下是我的问题:
我对测试知之甚少,所以我可能会问愚蠢的问题。
答案 0 :(得分:0)
我的第一个建议是您的服务不了解HTTP请求。它应该是像https://jersey.java.net这样的更高级别层的提供者,它可以发出请求并将POJO映射到JSON或者在HTTP响应中返回的任何内容。
#4的方法,"向客户发送回复"应该使用这些外部依赖关系来收集信息然后做出决定。
有些案例要涵盖: 如果其他微服务可以返回A,B或C并且DB可以返回D,E或F,那么您有9个方案需要测试。使用模拟提供所有这些变量的数据,然后对结果进行断言。如果还有更多的可能性,那么请考虑添加额外的信息收集方法 - 并自行测试。