Я запустил новое приложение rails 5:
rails new projectOne --api --database=postgresql
создал пользовательскую модель:
rails g model user
с соответствующей миграцией таблицы:
class CreateUsers < ActiveRecord::Migration[5.0]
def change
create_table :users do |t|
t.string :email, null: false
t.string :password_digest, null: false
t.string :confirmation_token
t.datetime :confirmed_at
t.datetime :confirmation_sent_at
t.timestamps
end
end
end
Когда я запускаю следующий тест minitest:
require 'test_helper'
class UserTest < ActiveSupport::TestCase
test "the truth" do
assert true
end
end
Результат:
Error:
UserTest#test_the_truth:
ActiveRecord::StatementInvalid: PG::NotNullViolation: ERROR: null value in column "email" violates not-null constraint
DETAIL: Failing row contains (980190962, null, null, null, null, null, 2017-09-10 18:58:52.08302, 2017-09-10 18:58:52.08302).
: INSERT INTO "users" ("created_at", "updated_at", "id") VALUES ('2017-09-10 18:58:52.083020', '2017-09-10 18:58:52.083020', 980190962)
В консоли я могу создать пустой объект User
и, как и ожидалось, получить указанную выше ошибку, но я не понимаю, что пытается создать объект в моем тесте. Я был бы признателен за объяснение и несколько советов о том, как пройти этот тест.