黄瓜/水豚未定义的方法`访问'

时间:2013-07-09 13:28:00

标签: testing cucumber capybara integration-testing

我有一个捆绑应用程序来为我的两个名为“验证”和“招聘人员”的应用程序执行黄瓜测试。我的测试应用程序的目录结构如下:

root-folder
|_features
  |_recruiters
    |_recruitment_navigation.feature
    |_step_definitions
      |_recruitment_navigation_steps.rb
  |_validation
    |_FEATURE FILES
    |_step_definitions
      |_DEFINITION STEPS
  |_support
    |_env.rb

对于上面的目录结构。对于需要页面访问的每个测试,visit的未定义方法#<Object:0x870c080> (NoMethodError)

但是对于以下目录结构,测试工作正常:

root-folder
    |_features
      |_FEATURE FILES
      |_step_definitions
        |_DEFINITION STEPS
      |_support
        |_env.rb

这是env.rb文件:

require 'capybara'
require 'capybara/dsl'
require 'capybara/cucumber'

require 'rspec/expectations'
require "ruby-debug"

Capybara.app_host = ENV["host"]
Capybara.run_server = false
Capybara.default_driver = :selenium
World(Capybara)`enter code here`

请帮我解决这个问题。第一种类型的目录结构是否需要Capybara的不同类型的设置?

1 个答案:

答案 0 :(得分:0)

在子文件夹中运行功能时,您需要告诉黄瓜正确需要功能目录。

e.g。

cucumber host=<host-url> -r features features/recruiters/<feature file to be tested>

我认为应该工作。