在Rspec中测试Controller方法变量的返回值

问题描述 投票:0回答:1

在Rails应用程序中,我正在编写Rspec测试用例。

我有一个控制器文件,它有一个名为'index'的方法,它返回一些值到views文件,该文件用作该特定视图文件中某些表的标题值。代码示例如下。

def index @some_variable = [I18n.t('controllerFileName.index.someTitle1'), I18n.t('controllerFileName.index.someTitle2')] end

sometitle1和sometitle2将作为视图文件的标题。

我想在控制器中编写一个测试用例来测试控制器是否使用Rspec将正确的期望值返回到视图文件(即Sometitle1和sometitle2)。

我知道我们可以使用Rspec Test case检查视图文件中的头文件。只是想知道我们是否可以使用Rspec检查控制器文件中的返回值。

我是Rspec的新手。如果不可能或有办法,请告诉我。

ruby-on-rails unit-testing rspec controller rspec-rails
1个回答
0
投票

你可以使用assigns测试它:

get :index
expect(assigns(:some_variable)).to eq(['Title 1', 'Title 2'])

ref:https://relishapp.com/rspec/rspec-rails/docs/controller-specs

© www.soinside.com 2019 - 2024. All rights reserved.