Можно ли проверить, если get
запросить текст?RSpec для запроса текста запроса
Я знаю, что есть такие хаки, как response.body == 'any string'
, но это меня не интересует. Мне просто интересно, есть ли способ «RSpec ™».
Имея эту RSpec:
RSpec.describe MyController, type: :controller do
controller do
def index
render text: 'Hellow'
end
end
describe 'rendering' do
subject { get :index }
it { is_expected.to render_template(text: 'Hellow')}
end
end
Я хотел бы, чтобы быть в состоянии назвать it { is_expected.to render_template(text: 'Hellow')}
. Он поднимает:
Failure/Error: it { is_expected.to render_template(text: 'Hellow') }
ArgumentError:
Unknown key: :text. Valid keys are: :layout, :partial, :locals, :count, :file
или, может быть, it { is_expected.to render_template('Hellow')}
Failure/Error: it { is_expected.to render_template('Hellow') }
expecting <"Hellow"> but rendering with <[]>
Есть ли способ RSpec ™, чтобы достигнуть этого?
Попробуйте добавить ['render_views'] (https://www.relishapp.com/rspec/rspec-rails/v/2-1/docs/controller-specs/render-views), потому что RSpec [не отображает views] (https://www.relishapp.com/rspec/rspec-rails/v/2-1/docs/controller-specs/do-not-render-views) по умолчанию – gotva
RSpec, похоже, использует 'response.body == «Hellow» в этом [пример] (https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs/anonymous-controller#anonymous-controllers-only-create-resource-routes) – AbM
https://github.com/rspec/rspec-rails/issues/1482: / –