ruby-on-rails - 为什么 Fixture_file_upload 在 RSpec 中不可用(没有 ActiveRecord)?
问题描述
我正在尝试在 Rails 5.2 应用程序中使用 RSpec 3.7 测试文件上传,而我见过的最简单的建议(包括这个 SO 帖子在内的几个地方)是使用fixture_file_upload
- 看起来很棒,除了它似乎在我的应用程序中可用,我不知道为什么。
我唯一能想到的是我们的应用程序没有使用 ActiveRecord,它使用的是 MongoID。但是不应该要求 ActiveRecord 使用这些方法……它们完全不相关。Rails 5 中是否还有我缺少的另一个新的“ActiveSomething”库?(这个应用程序是从 Rails 4 应用程序升级而来的......)
为了更具体地解释我的问题,我尝试提出:
let(:file) { fixture_file_upload('invalid_csv.csv') }
在我的一种情况下,它引发了一个例外:
undefined local variable or method 'fixture_path' for #<RSpec::ExampleGroups::...>
我尝试config.file_fixture_path
按照此处概述的方式进行定义,这引发了它自己的异常:
undefined method `file_fixture_path=' for #<RSpec::Core::Configuration::...>
这行得通吗?显然我错过了一些东西......
解决方案
我已经通过在 RSpec 配置块中包含他们的模块来解决这个问题:
RSpec.configure do |config|
#...
config.include ActionDispatch::TestProcess::FixtureFile
#...
end
推荐阅读
- ios - 更新我的 pod 导致 GoogleDataTransport Umbrella 标头出现错误
- javascript - Bootstrap datepicker-onchange 应该只在用户进行更改时启动
- spring - 如何禁用特定 URL 的相互身份验证
- python - 点击链接后如何验证电子邮件usind django rest auth
- android - 如何从 VerticalGridSupportFragment 项目请求焦点到 RowsSupportFragment 项目?
- wordpress - 在 Wordpress 上使用 ACF 上的自定义字段时找不到“图库”字段类型
- javascript - Flask API 为简单的 HTML+JS+CSS webapp 提供 JSON 文件,同时保持其安全
- c++ - 使用 nd_range 的 SYCL 中的矩阵乘法
- php - 如何将 Laravel cron 作业条目添加到服务器中?
- model-checking - “当A和B……”的逻辑评价