我仍在尝试完全理解 BDD,并且面临一些疑问。 根据我的一点经验,我一直在使用它来自动化用户验收测试,我想知道是否可以使用它来测试没有 UI 的 Web API。
在过去,我使用 BDD 使用 given-when-then 行话并将步骤映射到 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?
最佳答案
我认为您可以在 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/
关于web-services - 测试 Web 服务/API 时的 BDD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021295/