我仍在尝试完全理解 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?