Ruby on rails Rails Activerecord无法获取对象
我想测试csv导入方法是否正确保存产品对象。似乎产品对象保持正确,但无法断言产品对象的字段。如何断言产品对象的字段 控制台输出Ruby on rails Rails Activerecord无法获取对象,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我想测试csv导入方法是否正确保存产品对象。似乎产品对象保持正确,但无法断言产品对象的字段。如何断言产品对象的字段 控制台输出 expected: "productE" got: "Spree::Product" (using ==) ./spec/models/spree/csv_import_spec.rb:31:in `block (3 levels) in <top (required)>' 试试:product=Spree::product.where:prod
expected: "productE"
got: "Spree::Product" (using ==)
./spec/models/spree/csv_import_spec.rb:31:in `block (3 levels) in <top (required)>'
试试:product=Spree::product.where:product\u sku=>“productE”。改为第一个?否则,产品实际上是一个关系/集合,而不是一个实际的产品。where将永远不会向您返回一个产品,始终是一个关系。谢谢,这就是重点。
require 'spec_helper'
describe Spree::CsvImport do
context "" do
let!(:product_target) { create(:product_target)}
let!(:product_category) { create(:product_category)}
let!(:brand) { create(:brand, name: 'Araki Yuu', product_category: product_category)}
let!(:tax_category) { create(:tax_category, name: 'Default')}
let!(:shipping_category) { create(:shipping_category, name: 'Everywhere')}
let!(:zone1) { create(:zone, name: 'Japan')}
let!(:zone2) { create(:zone, name: 'US')}
let!(:taxon) { create(:taxon, name: 'SHIRTS')}
let!(:option_type) { create(:option_type, name: 'SHIRTS')}
let!(:option_value) { create(:option_value, name: 'M')}
let!(:measurement_type) { create(:measurement_type)}
let!(:stock_location) { create(:stock_location, name: 'KIEI Tokyo')}
it "" do
# Spree::CsvImport.import('csv_import_spec_1.csv')
Spree::CsvImport.import(
Class.new(Class.new do
def self.path
'spec/models/spree/csv_import_spec_1.csv'
end
end
)
)
end
it "should ..." do
product = Spree::Product.where(:product_sku => 'productE')
product.name.should == 'productE'
# find_by_product_sku('productE').should be_true
# Product.find_by_product_sku('productE').should be_true
end
end
end