我在一些测试中使用了fixture_file_upload,文件位于灯具/文件中。
然而,每当我尝试运行我的测试时,似乎Rails正在尝试加载这些文件,就好像它们是固定装置一样,我最终得到这样的错误:
ActiveRecord::StatementInvalid: Mysql::Error: Table 'testapp_test.test_image' doesn't exist: DELETE FROM `test_image`
从我收集的内容(以及我之前版本的Rails的经验)来看,它应该只是在fixtures目录的根目录中加载yml文件,而是加载所有内容。
答案 0 :(得分:0)
添加对命名空间夹具的支持,使fixture_file_upload半破碎。这是提交:
https://github.com/rails/rails/commit/8ec085bf1804770a547894967fcdee24087fda87
它只会妨碍CSV或YML文件,但这没有多大帮助。但是由于fixture_file_upload现在只是Rack :: Test :: UploadedFile.new(ActionController :: TestCase.fixture_path + path,type)的快捷方式,这导致了解决方案。
从'fixtures'下移出'files'并调用Rack :: Test :: UploadedFile.new直接为我工作。