2016-03-29 150 views
0

如何在集成測試中調用控制器中的特定方法。例如,我有以下的測試/控制器/ testing.rb文件 這是運行細紋集成測試中的調用控制器方法Rails

get :show, {employee_id: @employee.id} 
    assert_response :success 

但我怎麼能叫集成測試文件顯示方法?

+0

爲什麼你需要使用一個集成測試,直接打了一個控制器動作?你想要測試什麼,不能通過上面提供的控制器測試來完成? –

回答

1

在您的控制器測試中,測試按慣例知道,當您撥打get :show時,它應該使用控制器的show動作,其名稱與您的測試類相同。

在集成測試中,你不能這樣做。您必須使用您的應用程序的路線才能請求控制器操作。該文檔說,您可以使用get_via_redirect(path, [parameters], [headers])以及其他一些方法(請參閱下面的文檔鏈接)。

該方法的path參數可以是您的路徑幫助程序之一(動作user#show的示例,請使用路徑幫助程序user_path(@user))。

文檔: