У меня есть вопрос относительно файла rails_helper.rb, который генерирует Rspec. У меня все работает очень хорошо, но есть что-то, чего я не получу. Я знаю, что нужно делать в этом файле (каталог поддержки, очиститель базы данных ..). И я видел по меньшей мере сотни примеров людей, требующих, чтобы в этом файле присутствовали функции, модели и тесты контроллера.rails_helper.rb файл (тесты проходят, даже если я этого не требую)
Рассмотрим следующий пример, который я имею в моем приложении:
require 'rails_helper'
describe User do
it "is valid with valid attributes" do
user = build(:user)
expect(user).to be_valid
end
it "is invalid when username is blank" do
user = build(:user, username: "")
expect(user).to_not be_valid
end
it "is invalid when username is too long" do
user = build(:user, username: "a" * 21)
expect(user).to_not be_valid
end
it "is invalid when username is too short" do
user = build(:user, username: "a" * 3)
expect(user).to_not be_valid
end
end
А если я просто удалить «require_helper.rb» - ничего не происходит? Тесты все еще проходят? И у меня есть 20 тестов, в которых я удаляю эту строку, они все равно проходят (в некоторых случаях я пытался напрямую использовать модели ActiveRecord без заводской девушки, и она все еще проходит)!
Im помощью: factory_girl, уборщик базы данных, RSpec 3 и рельсы 4,2
Есть ли что-то, что I'm не хватает? Должна ли быть какая-то ошибка?
Tnx, Том
Да, есть файл .rspec, но он включает только spec_helper.rb. Rails_helper.rb должен загрузить весь стек rails, но spec_helper.rb предназначен для всех классов без рельсов (по крайней мере, то, что я читал). –
Использует ли ваш проект Spring? Если вы префикс rspec commmand с 'DISABLE_SPRING = 1', вы видите такое же поведение? –
Да, вы правы, это из-за весны (извините забыл упомянуть, что я использую это). Просто отключил его, и рельсы жалуются, что он не может разрешить постоянный пользователь. Tnx Andy :) –