Мое любопытство не позволит мне держать язык за зубами. Вот немного кода из Rails Tutorial.Что происходит с объектами модели, созданными в тестах?
describe "profile page" do
let(:user) { FactoryGirl.create(:user) }
before { visit user_path(user) }
it { should have_selector('h1', text: user.name) }
it { should have_selector('title', text: user.name) }
end
Что происходит с объектом Factory, созданным здесь после теста, возвращает true или false. Приведенный выше код будет сохранить объект в базу данных, но делает это автоматически получить откат после запуска тестов или же Rails сделать что-то еще с ним: PI было просто интересно, потому что
$ rails console test
> User.all
не будет возвращать ничего, но пустой массив.
Существует также [database_cleaner] (https://github.com/bmabey/database_cleaner), который использует усечение для очистки БД после каждого теста. Я предпочитаю транзакции, но если вы хотите использовать Selenium или capybara-webkit, вам нужно будет использовать database_cleaner. –
Спасибо. Я использую capybara на данный момент, но если я решаю проверить capybara-webkit, я попробую. – TradeRaider