Можно ли использовать cucumber и rspec в одном файле blueprints.rb?
Я использую Rails 3, machinist 2, cucumber и rspec вместе и у меня есть два файла blueprints.rb. Один в каталоге spec и один в каталоге features/support.
Это хорошая идея, чтобы просто иметь один файл blueprints.rb?
Если это так, каков предпочтительный способ настройки?
Пока же я просто символически связываю свой файл features/support / blueprints.rb с spec / blueprints.rb, что, возможно, плохо, но у меня работает.
2 ответа
У меня есть это внутри функций / поддержки
имя файла machinist.rb
require 'machinist/active_record'
Dir[ File.dirname(__FILE__) + "/../../spec/blueprints/*"].each {|file| require file }
Before { Sham.reset } # to reset Sham's seed between scenarios so each run has same random sequences
Это, конечно же, звучит нормально - мы делаем это для общих приспособлений и помощников (но я не использую Machinist).
Что вам, вероятно, нужно сделать, это включить такую строку в ваши вспомогательные файлы env и rspec. То, что это делает, помещает каталог, содержащий файл blueprints.rb, в верхнюю часть списка путей Ruby для просмотра при включении файлов.
$: << File.expand_path(File.join(File.dirname(__FILE__), "..","..","shared","directory"))
#require 'blueprints' will now look in the above directory first
Часть "..", "..", "shared", "directory" - это относительный путь от текущего файла к общему каталогу, где находится ваш файл blueprints.rb.