Как и с каким совпадением я могу проверить, если @product.industry_products.build
, а остальные определены в моем действии?rspec matcher для сборки в новом действии
products_controller
def new
@product = Product.new
authorize @product
@product.industry_products.build
@product.product_features.build
@product.product_usecases.build
@product.product_competitions.build
end
products_controller_spec.rb
context "GET new" do
let!(:profile) { create(:profile, user: @user) }
before(:each) do
get :new
end
it "assigns product" do
expect(assigns(:product)).to be_a_new(Product)
end
it { is_expected.to respond_with 200 }
it { is_expected.to render_template :new }
end
Энтони, у меня есть те тесты в спецификации модели. Итак, вы думаете, что в этом случае нет необходимости проверять, установлены ли переменные экземпляра в контроллере? –
В этом случае да. Если вы хотите проверить, что они вызваны, просто используйте 'expect (присваивает (: project) .industry_products.size) .to eq (1)'. Или, еще лучше, убедитесь, что поля 'industry_products' действительно отображаются в вашей форме. –