我正在尝试为我们的一些内部web服务(java)构建一个自动化测试框架。每个服务都有一组API (3-5),虽然这可能相对容易实现,但问题来自于一些不像纯函数那样表现的API,例如:像persistX这样的东西,这可能会在数据库中存储一些东西,并在失败的情况下返回异常。没有简单的方法来验证,因为这里没有输出。
所以我想知道这是否可以有点一般化,比如在测试API时,用户可以向某种类型的框架提供一个简单的插件或脚本来验证测试。这只是一个想法,如果有人能告诉我一些更好的想法或任何关于相同的资源,那就太好了。
谢谢
发布于 2012-02-03 11:14:40
我推荐robot framework。它是一个用python编写的关键字驱动的框架。因此,您可以使用jython在JVM中运行它,这意味着您可以使用java代码(当然也可以是python )来扩展它。我已经成功地使用它来调用API,然后通过窥视数据库或查询文件系统来验证结果。
它还可以在.NET平台上工作,有一个用于测试前端的selenium模块、一个jenkins插件和其他几个工具。它具有很强的可扩展性和灵活性。
发布于 2012-02-03 11:37:32
您看到的是黑盒和白盒测试的应用程序以及支持这两种测试的工具。
对于返回正确响应的web服务,您可以通过验证返回响应中的数据来执行黑盒测试。SoapUI是最好的工具。
对于那些行为不像纯函数的API,您可以通过验证其副作用(如持久性、事件生成、日志记录等)来进行白盒测试。为此,您喜欢可编程工具和SoapUI可能是也可能不是正确的选择。
我们在工作中都是这样做的,在评估了多种工具/框架(SoapUI、RSSPec、Robotframework)后,我选择了Spock。为什么是spock?
等等……
https://stackoverflow.com/questions/9123173
复制相似问题