Rspec для проверки присутствия не работает в Rails 5 - PullRequest
0 голосов
/ 02 июля 2018

Модель Todo

class Todo < ApplicationRecord
  has_many :items, dependent: :destroy
  validates :title, :created_by, presence: true
end

RSpecs

require 'rails_helper'

RSpec.describe Todo, type: :model do
  it { should have_many(:items).dependent(:destroy) }
  it { should validate_presence_of(:title) }
  it { should validate_presence_of(:created_by) }
end

Когда я запускаю команду bundle exec rspec, я вижу:

Finished in 1.82 seconds (files took 0.97238 seconds to load)
5 examples, 2 failures

Failed examples:

rspec ./spec/models/todo_spec.rb:8 # Todo should validate that :title cannot be empty/falsy
rspec ./spec/models/todo_spec.rb:9 # Todo should validate that :created_by cannot be empty/falsy

Может кто-нибудь объяснить, почему это не удается?

1 Ответ

0 голосов
/ 03 июля 2018

Это проблема в musta-matchers . Вам необходимо добавить в свой spec_helper.rb:

RSpec.configure do |config|
  config.include(Shoulda::Matchers::ActiveModel, type: :model)
  config.include(Shoulda::Matchers::ActiveRecord, type: :model)
end
...