黄瓜没有识别步骤定义

时间:2013-12-22 07:56:39

标签: ios cucumber frank

我写了一个功能和一个步骤定义。但是,黄瓜没有确定步骤定义。

my_first.feature

Feature:
  As an iOS developer
  I want to have a sample feature file
  So I can see what my next step is in the wonderful world of Frank/Cucumber testing

Scenario: 
    Launching the app

Given I launch the app

步骤定义文件位于step_definitions文件夹中,并命名为launch_steps.rb。代码是:

def app_path
  ENV['APP_BUNDLE_PATH'] || (defined?(APP_BUNDLE_PATH) && APP_BUNDLE_PATH)
end

Given /^I launch the app$/ do
  launch_app app_path
end

然而,当我在终端运行黄瓜时,我没有得到正确的输出。以下是来自终端的日志

features git:(frank) ✗ cucumber my_first.feature
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin13/rbconfig.rb:212: warning: Insecure world writable dir /usr/local in PATH, mode 040777
Feature: 
  As an iOS developer
  I want to have a sample feature file
  So I can see what my next step is in the wonderful world of Frank/Cucumber testing

  Scenario:                # my_first.feature:6
      Launching the app
    Given I launch the app # my_first.feature:9

1 scenario (1 undefined)
1 step (1 undefined)
0m0.001s

You can implement step definitions for undefined steps with these snippets:

Given(/^I launch the app$/) do
  pending # express the regexp above with the code you wish you had
end

If you want snippets in a different programming language,
just make sure a file with the appropriate file extension
exists where cucumber looks for step definitions.

我正在尝试学习黄瓜,作为第一个功能,我正在尝试启动应用程序。因此,我的期望是app会启动此功能。

PS:我还没有从XCode执行应用程序。

2 个答案:

答案 0 :(得分:0)

我找到了答案。我们需要从目录中的级别运行它。

答案 1 :(得分:0)

您应该尝试使用

查看黄瓜帮助的第一个选项
 bundle exec cucumber --help

-r, --require LIBRARY|DIR        Require files before executing the features. If this
                                 option is not specified, all *.rb files that are
                                 siblings or below the features will be loaded auto-
                                 matically. Automatic loading is disabled when this
                                 option is specified, and all loading becomes explicit.
                                 Files under directories named "support" are always
                                 loaded first.
                                 This option can be specified multiple times.

然后你可以运行:

bundle exec cucumber features/my_first.feature -r features/