неопределенный метод создания для рельсов RSpec 5 - PullRequest
0 голосов
/ 02 октября 2018

Это может быть дубликатом, но у меня это не сработало.Пожалуйста, дайте мне знать, что я пропустил.

Подробности конфигурации:

#Gemfile
gem 'factory_bot_rails' # 4.8.2

#spec/rails_helper.rb
RSpec.configure do |config|
  config.include FactoryBot::Syntax::Methods
  #other config
end

spec / factory / otps.rb

FactoryBot.define do
  factory :otp do
    phone { Faker::Number.number(10) }
    expiry { Time.now + Otp::Constants::EXPIRY_DURATION }
    password { Faker::Number.number(4) }
  end
end

spec / запросы / authentication_controller_spec.rb

require 'spec_helper'
RSpec.describe "Authentication", :type => :request do
  describe "when invalid OTP is passed" do
    it "should return bad request" do
      otp = create(:otp) # ===> Throws error
    end
  end
end

1 Ответ

0 голосов
/ 02 октября 2018

Измените свою спецификацию, добавив в нее нужного помощника:

require 'rails_helper'

RSpec.describe "Authentication", :type => :request do
  describe "when invalid OTP is passed" do
    it "should return bad request" do
      otp = create(:otp)
    end
  end
end

Вы также можете пропустить эту строку, если используете файл .rspec, который будет содержать что-то вроде:

 --color
 --format progress
 --order random
 --require rails_helper
...