1

我正在努力学习黄瓜。在SO 上浏览了一下之后,我找到了本教程的链接。这很有帮助(我强烈推荐它!),但是对于像我这样的初学者来说,一些早期的步骤是不透明的。我想我会在这里解释这两个陷阱,以免未来的 Cucumber 学生让我头疼。

这两个问题都出现在本节中:

启动故障修复周期

我使用 cucumber 特性运行它,但它在第一行失败——假设我转到新书页——因为 cucumber 不知道“新书页”在哪里。所以我将它添加到黄瓜路径助手中。

when /the new book page/
  new_book_path

我在解释这一部分和运行她的代码时遇到了麻烦。

我的第一个问题是:我在哪里可以找到cucumber paths helper文件

一旦我弄清楚并运行cucumber features,我得到了一个语法错误。

我的第二个问题是如何调试她的代码引发的语法错误?我试图在下面回答这两个问题。

4

1 回答 1

0

第一个问题:“黄瓜路径助手”到底在哪里

首先,她谈到在cucumber paths helper. 我挣扎了一会儿才弄清楚这个文件的位置。我在我的应用程序中找不到任何具有相似名称的东西,并且谷歌搜索没有产生任何有用的结果。发生了什么事?

事实证明,我找不到该文件,因为它不是自动生成的——您需要自己创建它。此外,文件的名称是完全任意的:不需要调用cucumber_paths_helper. 这就是为什么我的谷歌搜索没有结果。

要执行她的代码片段,它只需要位于文件夹中的某个文件中即可features/support。此目录中的所有代码都在运行任何黄瓜测试之前执行。解决方案?我把她的代码放到了一个新文件中features/support/manage_books_steps.rb

好吧,下一个...

第二个陷阱:语法错误,意外的keyword_when

当我尝试运行时出现了下一个问题cucumber features。我懂了:

/Users/dB/myApp/features/support/manage_books_steps.rb:1: syntax error, unexpected keyword_when
when /the new book page/
    ^ (SyntaxError)

由于某种原因,我的系统无法解析此代码。我不确定究竟是为什么,但我猜测 Sarah 正在使用一些 gem 或工具来预处理我没有安装的代码,不幸的是,她没有在文章中详细介绍她的 gemset。(也许她是在黄瓜的辅助轮脱落之前写的?)无论如何,在咨询了其他一些黄瓜教程之后,我尝试像这样重新格式化她的片段。

When /^I go to the new book page$/ do
  visit new_book_path
end

这行得通。

在克服了这两个小障碍之后,本教程的其余部分是同步的。

无论如何,我希望这对某个地方的人有所帮助。并感谢莎拉,提供了一个很棒的教程。

欢迎编辑/评论/更正。

于 2012-08-15T18:06:18.517 回答