2016-09-30 34 views
1

我讀黃瓜書之外,它提到的是,在features/support目錄中的所有文件會自動要求 - 與env.rb被首先需要。我不喜歡這樣一個事實,即當我們將它們放在features/support中時,我們無法控制需要文件的順序,所以我創建了一個features/setup目錄來保存我的.rb文件。然後,我按照我需要的順序在env.rb文件中要求它們。我的features/support文件夾只包含env.rb爲什麼黃瓜自動加載的.rb文件的功能/支持

我看到文件需要兩次。它看起來像黃瓜需要任何.rb文件,無論它在哪個文件夾。爲什麼發生這種情況?我一直在運行黃瓜

bundle exec cucumber -r features 

我有一個config/cucumber.yml

<% 
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : "" 
rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] ||  'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} # {rerun}" 
std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags [email protected]" 
%> 
default: <%= std_opts %> features 
wip: --tags @wip:3 --wip features 
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags [email protected] 

,但我不認爲這是造成問題的原因。因爲黃瓜書被寫入,使黃瓜加載所有.rb文件在features?有沒有辦法關閉它?

回答

2

功能/文件夾內的所有內容都將由黃瓜加載。我不能說什麼是寫在書中說,但按照黃瓜書的作者之一:

如果你想明確的加載和不是自動加載,只要把你的 文件的功能文件夾之外。

Source

我還要說的是,如果你不需要做自己加載,你應該讓它工作,它的目的的方式。至少,已經有黃瓜經驗的人會對你的項目工作有更好的瞭解。

+0

謝謝您的確認 – CodeSmith

+0

這真的很煩人。我無法按我想要的方式劃分我的測試代碼。謝謝你的信息 –