Шукав це питання і не зміг його знайти або відповісти на Stack Overflow, але знайшов його в іншому місці, тому я прошу зробити його доступним на SO.
Рамка рейки має функцію fixture_file_upload
( Rails 2 Rails 3 , Rails 5 ), яка здійснюватиме пошук у вашому каталозі світильників за вказаним файлом та зробить його доступним як тестовий файл для контролера у функціональному тестуванні. Щоб використовувати його:
1) Помістіть свій файл для завантаження в тест у вашому пристосуванні / файлах, підкаталозі для тестування.
2) У вашому тестовому модулі ви можете отримати свій тестовий файл, зателефонувавши fixture_file_upload ('path', 'mime-type').
наприклад:
bulk_json = fixture_file_upload('files/bulk_bookmark.json','application/json')
3) викликайте метод публікації, щоб потрапити на потрібну дію контролера, передаючи об'єкт, повернутий fixture_file_upload як параметр для завантаження.
наприклад:
post :bookmark, :bulkfile => bulk_json
Або в Rails 5: post :bookmark, params: {bulkfile: bulk_json}
Це відбудеться через модельований процес публікації, використовуючи копію файлу Tempfile у вашому каталозі світильників, а потім повернеться до тесту одиниці, щоб ви могли розпочати вивчення результатів публікації.