ruby-on-rails - 如何比较rspec中的数组

标签 ruby-on-rails unit-testing rspec

您好,我正在使用 ruby​​-2.5.0 和 Rails 5 进行 RoR 项目。我在 Controller 上有一个方法返回一个数组,该数组包含一个字符串和一个接收模型的对象,如下所示:

["IGA", #<Reciept id: 1, name: "IGA", reciept_date: "2006-02-18 16:25:00", user_id: 1, created_at: "2018-04-07 11:53:33", updated_at: "2018-04-07 11:53:33">]

在我的 rspec 中,我想按如下方式比较这个数组:-

it { expect(described_class.find_store(params,user_id)).to eq(["IGA", #<Reciept id: 1, name: "IGA", reciept_date: "2006-02-18 16:25:00", user_id: 1, created_at: "2018-04-07 11:53:33", updated_at: "2018-04-07 11:53:33">]) }

它给出了语法错误,因为数组内部有一个“#”符号,所以它注释了我的代码。请帮助我如何比较这个数组。提前致谢。

最佳答案

尝试以下操作:

it { expect(described_class.find_store(params,user_id)).to eq(["IGA", Reciept.find(1)]) }

关于ruby-on-rails - 如何比较rspec中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49707252/

相关文章:

javascript - 更新嵌套表单的路由

javascript - 如何在 Rails 中突出显示搜索到的单词?

ruby-on-rails - 如何在 rspec 中测试 ActiveRecords 的集合?

ruby-on-rails - haml rspec 缺少模板

ruby - 在使用 any_instance 的情况下,如何让 stub 返回调用它的实例?

ruby-on-rails - 如何计算对象中字符串的出现次数

ruby-on-rails - Rails 条件获取(开发模式)仍然返回 "Not Modified"(`#fresh_when()` )

multithreading - 使用并行流时,Spock 单元测试卡住

unit-testing - 使用 Delta Lake 表运行 Pytest 时出错

java - 如何测试转换器之类的东西