3

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

过去,我使用 given-when-then 行话来使用 BDD,并将步骤映射到 UI 交互。我已经用 ASP.NET 中的 Specflow 或 ruby​​ on rails 中的 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?

4

2 回答 2

4

我认为您可以在 BDD 中完成您所写的内容。我不确定这两个关于使用 SpecFlow 测试 Web 服务的链接是否会对您有所帮助,但如果您还没有看到,请查看它们。

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/

于 2012-10-29T15:54:17.210 回答
0

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

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

于 2017-03-01T18:44:39.870 回答