В приложении RoR, которое я унаследовал, тест не пройден, который включает загрузку файла.Неудачное утверждение выглядит так:
assert_equal File.size("#{RAILS_ROOT}/test/fixtures/#{filename}"), @candidate.picture.length
Не удается с (тестовый файл 69 байтов):
<69> expected but was <5>.
Это после сообщения, использующего:
fixture_file_upload(filename, content_type, :binary)
В модели-кандидате загруженный файл присваивается свойству, которое затем сохраняется в mediumblob в MySQL.Мне кажется, что загруженный файл имеет размер 69 байт, но после того, как он назначен свойству модели (с помощью UploadedFile.read), длина отображается как всего 5 байт.
Итак, этот код:
puts "file.length=" + file.length.to_s
self.picture = file.read
puts "self.picture.length=" + self.picture.length.to_s
приводит к такому выводу:
file.length=69
self.picture.length=5
Я немного растерялся, почему это так, любые идеи