2016-08-04 3 views
0
test "TITLE" do 
    products = Product.all 
    total_price = products.to_a.sum(&:price) 
    expected_total = total_price * 100 

    post product_path, price: 500, product: "random" 

    assert_template :index 
    assert_equal expected_total, products.to_a.map(&:reload).sum(&:price) 
end 

나는 무작위로 제품을 제출하고 있으며 정상적으로 작동합니다. 하지만 제품을 다시로드 한 후에는 가격이 표시되지 않습니다. 0으로 표시됩니다. 양식의 값을 인쇄하면 price 필드에 값이 표시됩니다.실패 Rspec 테스트 케이스 + 통합 테스트

+0

이것은 RSpec이 아닙니다. –

답변

0

첫 번째 줄에는 아직 제품이 없으므로 Product.all은 빈 모음을 반환합니다. 따라서 expected_total은 0이됩니다.

이 설정 코드를 post 호출 이후로 이동하면이 설정 코드를 전달해야합니다.

(그러나 테스트에서는 실제로 계산의 실행을 검증하지 않습니다.)

+0

Product.all - 5 개의 레코드가 있습니다. – Loren

+0

개발 데이터베이스 또는 테스트 데이터베이스에 있습니까? –

관련 문제