ruby-on-rails - 包括ActionDispatch::TestProcess阻止防护重新正确加载

标签 ruby-on-rails file-upload rspec guard

我正在使用fix_file_upload在我的rspec中测试一些文件上传

如果我只是将其放入规范中,则会发现未找到方法的错误。

为了使其正常工作,我在规范中加入了ActionDispatch::TestProcess,但是自从我这样做以来,我发现该保护程序在进行更改时无法正确地重新加载规范文件,它会继续对旧版本的文件运行测试。

我可以通过停止并重新启动 guard 来解决此问题,但这有点违背了目的。

如何防止这种情况发生?我应该如何引用fixture_file_upload或将include放在哪里?

最佳答案

我不知道问题的确切来源,但是我自己遇到了一些由ActionDispatch::TestProcess引起的奇怪问题。但是,您可以使用a workaround代替fixture_file_upload,这意味着您可以删除有问题的include

如果您有这样的事情(例如在工厂中):

include ActionDispatch::TestProcess

fixture_file_upload('spec/factories/test.png', 'image/png')

您可以将其替换为:
Rack::Test::UploadedFile.new('spec/factories/test.png', 'image/png')

如果您查看 fixture_file_upload 的来源,您会发现它实际上只是调用上面的代码。

关于ruby-on-rails - 包括ActionDispatch::TestProcess阻止防护重新正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18202261/

相关文章:

ruby-on-rails - Rails 分步创建对象

file-upload - 环形中间件不提取多部分参数

codeigniter - 如何在 Codeigniter 中上传时为文件名添加前缀?

ruby-on-rails - 存在单引号时 RSpec `match` 失败

ruby-on-rails - 如何在删除:destroy in Rails?中传递ID

ruby-on-rails - RVM 切换 Rails 版本

mysql - 如何管理 Rails database.yml

Html 表格 : bad mime type for . zip 文件

ruby-on-rails - 如何避免使用 expect_any_instance_of 锤子?

sql - Rails HABTM 查询——带有所有标签的文章