Где Rails хранит данные, созданные путем сохранения объектов activerecord во время тестов?
Мне показалось, что я знаю ответ на этот вопрос: очевидно, в _test базе данных . Но похоже, что это не так !
Я использовал эту систему для проверки того, что происходит с сохраненными данными ActiveRecord во время тестов rspec:
$ rails -d mysql test
$ cd test
$ nano config / database.yml ...
... создание баз данных mysql test_test, test_development, test_production
$ script / generate rspec
$ script / generate rspec_model foo
редактировать миграцию Foo:
class CreateFoos
<p>$ rake db:migrate</p>
<p>edit spec/models/foo_spec.rb:</p>
<pre>
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
describe Foo do
before(:each) do
@valid_attributes = {
:bar => 12345
}
end
it "should create a new instance given valid attributes" do
foo = Foo.new(@valid_attributes)
foo.save
puts "sleeping..."
sleep(20)
end
end
$ рейк спецификация
Когда вы видите «спящий ...», переключитесь на другой открытый терминал с сеансом mysql, подключенным к базе данных test_test, и выполните:
mysql> select * from foos;
Пустой набор (0,00 с)
Почему сеанс mysql не показывает никаких записей в базе данных test_test во время выполнения теста?