Errno :: ENOENT: Ошибка при запуске теста rspec, файл не существует, но существует - PullRequest
0 голосов
/ 05 сентября 2011

Итак, я пытаюсь проверить контроллер, но у меня возникают проблемы.Часть кода требует загрузки файла, но я получаю эту ошибку:

Errno::ENOENT:
       No such file or directory - ./public/licenses/58efcffc3d8441fcc0627164a8b1350aFCV5Hmashup_lic.xml

Однако файл завершается.Когда я запускаю его в браузере, он работает без проблем (но я все еще хочу написать тест).

Я не знаю, имеет ли это какое-либо отношение к этому, но я используюбаза данных при запуске теста.Я знаю, что на самом деле это не то, как я должен это делать, но я не знаю другого пути.

Любая помощь будет потрясающей.Спасибо.

Ответы [ 2 ]

1 голос
/ 05 сентября 2011

Скорее всего, потому что ваше предположение о том, где находится текущий рабочий каталог при выполнении тестов, неверно.попробуйте добавить туда puts File.dirname('.'), чтобы убедиться, что вы работаете из каталога, который вам нужен.

0 голосов
/ 05 сентября 2011

Как инструмент отладки:

В вашем тесте, непосредственно перед оператором, проверяющим файл, попробуйте добавить

puts "list dir " + `ls ./public/licenses/`

, чтобы увидеть, действительно ли файл существует.

Возможно, проблема с правами доступа у идентификатора тестового пользователя

Возможно, файл на самом деле отсутствует ...

...