Можно ли использовать 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.

Другие вопросы по тегам