3
私はそれがすべてが正常に動作プロジェクトで
describe "#show" do
before { @category = Factory :category }
before do
@product1 = Factory :product, category: @category
@product2 = Factory :product, category: @category
end
before { get :show, id: @category.id }
it { should respond_with :success }
it { assigns(:products).should eq [@product1, @product2] }
end
シンプルなアクションショー
def show
@category = Category.find(params[:id])
@products = ProductDecorator.decorate(@category.products)
end
とテストだ私のコントローラではRSpecのとドレーパー宝石https://github.com/jcasimir/draper
を使用しています
と製品は正常に表示されますが、テストではこのようなエラーが発生します
Failure/Error: it { assigns(:products).should eq [@product1, @product2] }
expected: [#<Product ... >, #<Product ...>]
got: nil
(compared using ==)
も私はProductDecorator.decorate(@ category.products)を交換する場合だけcategory.products @ - エラーなし私は
def show
@category = Category.find(params[:id])
@products = ProductDecorator.decorate(@category.products)
puts @products.inspect
end
が
#<DecoratedEnumerableProxy of ProductDecorator for [#<Product ...>, #<Product ...>]>
どれを得た@productsに検査した場合
提案?
はい、私はこれを試してみましたが、ゼロと製品アレイや「ProductDecoratorのDecoratedEnumerableProxy」を比較するの違いは何ですか? –