2016-09-30 2 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

Это действительно раздражает. Я не могу разделить мой тестовый код так, как я хочу. Спасибо за информацию, хотя –