0

当我尝试为我的网络应用程序运行黄瓜场景时,是否有任何文档或东西可以让我找出确切发生的情况。

  • 它何时以及如何启动服务器?

我正在使用 Capybara 、 webkit 、 headless gem 作为我的技术堆栈。

4

1 回答 1

1

我建议跟踪 Capybara 和 Cucumber 的代码(理想情况下适用于您正在使用的 gem 版本)。我发现从 Capybara 启动服务器的位置向后工作比从 Cucumber 被调用时向前工作更容易。

Capybara::Server是负责启动服务器的类。

Capybara::Session创建一个Capybara::Server.

将驱动程序设置为 :webkit 会在Capybara#current_session创建Capybara::Session.

page,Capybara 的 DSL 中的一个方法,只是返回current_session.

所有的 DSL 方法,比如visit get 发送到current_sessionthroughpage。在 DSL 文件的顶部,有一条注释说“使用 capybara/dsl 时,会话会自动为您初始化”。

通过使用 cucumber-rails 或手动要求 capybara/cucumber,您可以获得Cucumber's World 中包含的 capybara DSL 方法

我有一段时间没有使用黄瓜了,但我想我记得他们从黄瓜中删除了任何预先填充的步骤定义,所以实际上我没有想到在黄瓜的代码中链接到任何地方,但第一次是步骤定义服务器启动时调用 Capybara DSL 方法的样子。

于 2013-10-05T18:12:34.787 回答