我正在尝试为我们的一些内部Web服务(java)构建一个自动化测试框架。每个服务都有一组API(3-5),虽然这可能相对容易实现,但是问题来自一些不像纯函数那样的API,例如:像persistX这样的东西,它可以存储在数据库中的东西,返回异常失败。 没有简单的验证方法,因为这里没有输出。
所以我想知道这是否有点概括,比如在测试API时,用户可以提供一个简单的插件或脚本到某种可以验证测试的框架。如果有人可以告诉我一些更好的或者任何相同的资源,这只是一个想法会很棒。
由于
答案 0 :(得分:6)
我推荐robot framework。它是一个用python编写的关键字驱动框架。因此,您可以使用jython在JVM中运行它,这意味着您可以使用Java代码(或者当然是python)来扩展它。我已成功使用它来调用API,然后通过窥视数据库或查询文件系统来验证结果。
它也可以在.NET平台上运行,有一个用于测试前端的selenium模块,一个jenkins插件和其他几个工具。它非常具有可扩展性和灵活性。
答案 1 :(得分:4)
您正在研究的是黑盒和白盒测试的应用以及支持这两种测试的工具。
对于返回正确响应的Web服务,您可以通过验证返回响应中的数据来执行黑盒测试。 SoapUI是最好的工具。
对于不像纯函数那样运行的API,您可以通过验证其副作用(如持久性,事件生成,日志记录等)来进行白盒测试。为此您喜欢可编程工具和SoapUI可能是也可能不是正确的选择。
我们在工作中做了两件事,在评估了多个工具/框架(SoapUI,RSSPec,Robotframework)之后,我选择了Spock。为什么spock?
等...