УНИКАЛЬНОЕ ограничение не удалось Ошибка на Rails 5 с Minitest

Я новичок в модульном тестировании и Rails в целом. У меня есть простое приложение на Rails, и я пытаюсь протестировать его с помощью стандартных Minitest и Capybara. К сожалению, это дает мне эту ошибку независимо от того, что я утомляю, чтобы проверить

E

Error:
StocksControllerTest#test_the_truth:
ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: UNIQUE constraint failed: admins.email: INSERT INTO "admins" ("created_at", "updated_at", "id") VALUES ('2017-06-28 08:49:33.148641', '2017-06-28 08:49:33.148641', 298486374)

bin/rails test test/controllers/stocks_controller_test.rb:10

Тест / Контроллеры /stocks_controller.rb

require 'test_helper'

class StocksControllerTest < ActionDispatch::IntegrationTest

  def setup
    @base_title = "Stationery Management System"
  end


  test "the truth" do
    assert true
  end
end

schema.rb

ActiveRecord::Schema.define(version: 20170627120530) do

  create_table "admins", force: :cascade do |t|
    t.string "email", default: "", null: false
    t.string "encrypted_password", default: "", null: false
    t.string "reset_password_token"
    t.datetime "reset_password_sent_at"
    t.datetime "remember_created_at"
    t.integer "sign_in_count", default: 0, null: false
    t.datetime "current_sign_in_at"
    t.datetime "last_sign_in_at"
    t.string "current_sign_in_ip"
    t.string "last_sign_in_ip"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.index ["email"], name: "index_admins_on_email", unique: true
    t.index ["reset_password_token"], name: "index_admins_on_reset_password_token", unique: true
  end

  create_table "stocks", force: :cascade do |t|
    t.string "name"
    t.text "description"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
    t.integer "admin_id"
    t.index ["admin_id"], name: "index_stocks_on_admin_id"
  end

end

модели /stock.rb

class Stock < ApplicationRecord

  belongs_to :admin
end

модели /admin.rb

class Admin < ApplicationRecord
  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  has_many :stocks, dependent: :destroy
end

Имейте в виду, что приложение, кажется, функционирует довольно хорошо. Я попытался сбросить сброс моей тестовой БД, но это не помогло. Был бы благодарен за любую помощь.

0 ответов

Другие вопросы по тегам