2016-06-30 4 views
0

У меня есть вопрос относительно файла 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, Том

ответ

0

ли проект есть .rspec файл в корневом каталоге? Это часто используется для автоматического запроса помощника RSpec.

+0

Да, есть файл .rspec, но он включает только spec_helper.rb. Rails_helper.rb должен загрузить весь стек rails, но spec_helper.rb предназначен для всех классов без рельсов (по крайней мере, то, что я читал). –

+1

Использует ли ваш проект Spring? Если вы префикс rspec commmand с 'DISABLE_SPRING = 1', вы видите такое же поведение? –

+0

Да, вы правы, это из-за весны (извините забыл упомянуть, что я использую это). Просто отключил его, и рельсы жалуются, что он не может разрешить постоянный пользователь. Tnx Andy :) –

Смежные вопросы