1
由於沒有爲Cucumber 1.1+生成paths.env文件,例如,如果我經常爲我的測試步驟使用visit login_path
,我應該爲它創建一個單獨的步驟,還是應該到處使用visit login_path
?如果它改變了,我可以輕鬆地在features目錄下進行字符串替換。你把你的路徑放在Cucumber 1.1+ for Ruby on Rails上?
謝謝!
由於沒有爲Cucumber 1.1+生成paths.env文件,例如,如果我經常爲我的測試步驟使用visit login_path
,我應該爲它創建一個單獨的步驟,還是應該到處使用visit login_path
?如果它改變了,我可以輕鬆地在features目錄下進行字符串替換。你把你的路徑放在Cucumber 1.1+ for Ruby on Rails上?
謝謝!
如果它真的只是一個乾涸到visit login_path
您的通話事情我只是離開他們是因爲他們都清楚,簡明因爲他們的立場,而你(可能)是不會需要更改登錄路徑助手。
但是,如果你開始看到像這樣稍微複雜的步驟,
# in features/step_definitions/profile_steps.rb
When /^I go to my profile$/ do
visit user_path(@current_user)
end
考慮使用paths.rb
型號:
# in features/step_definitions/common_steps.rb
Given /^I go to (.+)$/ do |page_name|
visit path_to(page_name)
end
# in features/support/paths.rb
module NavigationHelpers
def path_to(page_name)
when /my profile/
user_path(@current_user)
...
end
end
World(NavigationHelpers)
這是正確的,我很喜歡paths.rb
和selectors.rb
並將其複製到新項目:)我很高興看到「廚房水槽」web_steps.rb
去。有關如何使用支持文件的示例:https://github.com/coshx/green-eggs/blob/master/features/support
您如何知道將它放入名爲「NavigationHelpers」的模塊中?這是任意的嗎? –
糟糕,該名稱是任意的,但您必須使用'World'方法包含模塊。我更新了答案以表明這一點。 –
工作,謝謝!在有關World()的文檔中找到了這個很好的解釋https://github.com/cucumber/cucumber/wiki/A-Whole-New-World –