2010-03-21 4 views
0

나는 다음과 같은 index 액션이 있습니다기능 테스트

class ExpensesController < ApplicationController 

    def index() 
    @expenses = Expense.all 
    end 
end 

내가 기능 테스트의 모든 호출을 조롱하고자합니다. 나는 flexmock을 사용하고 다음과 같은 테스트를 작성했습니다 :

<은 []> 예상하지만했다 전무

:

require 'test_helper' 
require 'flexmock' 
require 'flexmock/test_unit' 

class ExpensesControllerTest < ActionController::TestCase 

    test "should render index" do 

    flexmock(Expense).should_receive(:all).and_return([]) 

    get :index 

    assert_response :success 
    assert_template :index 
    assert_equal [], assigns(:presentations) 
    end 
end 

문제는 마지막 주장은 다음과 같은 오류 메시지와 함께 FAIS는 IS를

내가 잘못하고있는 것을 혼란스럽게 생각합니다. 이 작동하지 않아야합니까?

답변

2

테스트 검사 :presentations : 당신이 :expenses

assert_equal [], assigns(:presentations) 

찾으시는 것입니까? 보고 그 값이 nil 그래서

assert_equal [], assigns(:expenses) 

컨트롤러는 @presentations 설정되지 않습니다.

+0

나는 총 멍청이다. 그런 쓰레기 게시물에 답할 시간을내어 주셔서 감사합니다. – dagda1