Rails 3试图将fixtures / files文件夹中的文件作为fixtures加载

时间:2012-01-12 19:37:54

标签: ruby-on-rails-3 testing

我在一些测试中使用了fixture_file_upload,文件位于灯具/文件中。

然而,每当我尝试运行我的测试时,似乎Rails正在尝试加载这些文件,就好像它们是固定装置一样,我最终得到这样的错误:

ActiveRecord::StatementInvalid: Mysql::Error: Table 'testapp_test.test_image' doesn't exist: DELETE FROM `test_image`

从我收集的内容(以及我之前版本的Rails的经验)来看,它应该只是在fixtures目录的根目录中加载yml文件,而是加载所有内容。

1 个答案:

答案 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直接为我工作。