测试Web服务/ API时的BDD

时间:2012-10-22 23:13:01

标签: web-services api testing bdd

我仍然试图完全理解BDD,我面临一些疑问。 根据我的小经验,我一直在使用它来自动化用户验收测试,我想知道是否可以使用它来测试没有UI的Web API。

在过去,我使用了给定时间的行话来使用BDD,并将步骤映射到UI交互。我用ASP.NET中的Specflow或rails上的ruby中的cucumber / capybara完成了这个。 例如,我们可以有这样的场景:

Given I am in the home page 
When I click login button 
Then I should see the login page

我目前正在开展的项目有所不同。我们正在实现一个基于Web服务的API,它将由不同类型的客户端使用。像一个iPhone应用程序,Android应用程序和基于asp的Web客户端。因此,我们的主要关注点是后端,而且只是基于。

在这种情况下,从UI的角度来看,不能面对测试。因此,我们的端到端测试基于我们的服务端点。我们将一些输入参数传递给服务调用并检查输出。 我们可以使用BDD做到这一点吗?这是正确的吗? 或者使用像FitNesse这样的其他东西会更好吗? 嗯..正在使用FitNesse做BDD吗?

2 个答案:

答案 0 :(得分:4)

我认为你可以在BDD中做你的写作。我不确定那些关于使用SpecFlow测试web服务的2个链接是否会对你有所帮助,但如果你还没有看到它们,请看看它们。

http://codedetective.blogspot.co.uk/2012/10/testing-webservices-with-specflow.html

http://www.creamdog.se/blog/2011/02/24/webservices-automated-tests-using-specflow-and-babelfish/

答案 1 :(得分:0)

通过Karate查看Intuit,Web服务测试框架。它最近开源。它具有处理HTML,JSON,XML,GraphQL查询的API的能力,并且构建在cucumber之上。

此处简单介绍:https://medium.com/blueprint-by-intuit/karate-web-services-testing-made-simple-366e8eb5adc0#.qnpy5gagt