Rspec создает неопределенный метод route_to, несмотря на то, что rspec / rails определены в помощнике по gemfile / rails - PullRequest
0 голосов
/ 04 февраля 2019

ВОПРОС: Что я сделал не так, что метод route_to остается неопределенным?

Я очень новичок в этом, но я пытаюсь разработать некоторые тесты маршрутов с помощью гема rspec.

Моя проблема в том, что я получаю сообщение об ошибке:

undefined method `route_to' for #<RSpec::ExampleGroups::RouteToHomepage

Я уже просмотрел API для этого запроса и уже сделал следующее:

Install gem 'rspec-rails'

В rails_helper.rb

    require 'rspec/rails'

В моем routing_spec.rb (где я пишу маршруты)

    require 'rails_helper'

    describe "route to homepage" do
      it "routes /home to index" do
        expect(:get => "/homes").to route_to(
          action: "index"
        )
      end
    end

Что именно мне нужно изменить или добавить,так что метод "route_to" определен?Я уже прочитал и, по-видимому, он определен в геме rspec-rails, который у меня есть, и уже включен.

1 Ответ

0 голосов
/ 04 февраля 2019

Из документации :

Спецификации маршрутизации отмечены :type => :routing или, если вы установили config.infer_spec_type_from_file_location!, поместив их в spec/routing.


Вы не сказали, где находится routing_spec.rb, но , если находится внутри папки spec/routing/, тогда вы можете включить вышеуказанный параметр конфигурации.

В противном случае, или в общем случае, вы должны сделать это:

require 'rails_helper'

describe "route to homepage", type: :routing do
  it "routes /home to index" do
    expect(:get => "/homes").to route_to(
      action: "index"
    )
  end
end

Для этого будет включен необходимый помощник RSpec, который определяет route_to, среди других методов.

...