Как получить корневой каталог гема в тестах Rspec для моего проекта Rails? - PullRequest
2 голосов
/ 01 апреля 2011

У меня есть драгоценный камень, мы назовем его ToastMitten, который я включаю в одно из моих приложений на Rails. Я пишу несколько тестов для ToastMitten, в которых мне нужно загрузить файл, и я хочу указать путь от корня гема.

Я только что попытался использовать Rails.root.to_s, но это дает мне что-то вроде /Users/me/projects/toastmitten/spec/dummy. Я бы ожидал, что этот путь закончится на toastmitten/.

Что я делаю не так?

Ответы [ 2 ]

3 голосов
/ 01 апреля 2011

Похоже, вы используете движок Rails (сгенерированный с enginex, отсюда и фиктивное приложение в вашей папке spec).Если вам требуется файл в тесте с использованием абсолютного пути, вы можете использовать следующее:

file = File.expand_path(File.join(File.dirname(__FILE__), 'path', 'to', 'file.ext'))

root = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))

Можете ли вы более точно указать, где вы пытаетесь получить этот файл?Кроме того, для корневого примера может потребоваться больше ...

3 голосов
/ 01 апреля 2011
Rails.root.parent.to_s

Если оно всегда возвращает ваше фиктивное приложение Rails, просто перейдите к родителю.

...