【问题标题】:cucumber/capybara undefined method `visit'黄瓜/水豚未定义方法“访问”
【发布时间】:2013-07-09 13:28:00
【问题描述】:

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

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 是否有任何不同类型的设置需要第一种目录结构?

【问题讨论】:

  • 你用的是哪个版本的黄瓜?
  • 好的,你是如何运行黄瓜功能的?你用的是什么命令?
  • @Tooky - cucumber host= features/

标签: testing cucumber capybara integration-testing


【解决方案1】:

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

例如

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

我认为应该可以。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 2012-01-18
    相关资源
    最近更新 更多