2016-03-29 187 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))。

文档: