Огурец 1.1.4 - Как мне определить модуль NavigationHelpers? - PullRequest
1 голос
/ 20 января 2012

Я читаю книгу Rails 3 In Action, и они представляют BDD с Cucumber. Я заметил, что web_steps.rb файл был удален Modern Cucumber and Rails . Я добавил свои собственные регулярные выражения веб-шагов, и это работает, как и ожидалось. Однако, похоже, файл paths.rb тоже был удален. Раньше он содержал module NavigationHelpers, где вы могли бы включить код вроде:

def path_to(page_name)  
    case page_name  
    when /the homepage/  
      root_path  
    when /the list of articles/  
      articles_path  
    else  
      raise "Can't find mapping from \"#{page_name}\" to a path."  
    end  
  end 

И тогда вы можете сделать что-то вроде:

Given /^(?:|I )am on (.+)$/ do |page_name|
  visit path_to(page_name)
end

в твоих шагах.

Я пытался добавить файл с именем paths.rb в features/support с этим модулем, но я получаю ошибку undefined path_to method . Итак, мой вопрос :

Как вы справляетесь с этим в Cucumber 1.1.4? Как правильно определить этот тип методов / модулей?

1 Ответ

3 голосов
/ 20 января 2012

Убедитесь, что у вас есть

World(NavigationHelpers)

внизу файла.Это сделает методы модуля доступными во всех ваших определениях шагов.

...