Rails 3: Почему Rails пытается вставить значения в базу данных при запуске простого теста? - PullRequest
8 голосов
/ 10 марта 2011

Я запускаю:

ruby -I test test/unit/job_test.rb

из корневого каталога моего приложения и получаю:

Loaded suite test/unit/job_test
Started
E
Finished in 2.046875 seconds.

1) Error:
   test_My_First_Test(JobTest):
   ActiveRecord::RecordNotUnique: Mysql2::Error: Duplicate entry '' 
   for key 'name':
   INSERT INTO `ac_buyers` (`created_at`, `updated_at`, `id`) VALUES 
   ('2011-03-10 06:04:06', '2011-03-10 06:04:06', 298486374)

Что здесь происходит?

Почему Rails пытается вставитьзначения в базу данных?

Вот test/unit/job_test.rb:

require 'test_helper'
class JobTest < ActiveSupport::TestCase
  test "My First Test" do
    assert false
  end
end

1 Ответ

10 голосов
/ 10 марта 2011

Похоже, это светильники Rails.Посмотрите в test / fixtures, и вы увидите несколько файлов, сгенерированных rails, для заполнения вашей тестовой базы данных с данными для тестирования.Когда вы запустите ваши тесты, рельсы будут вставлены в вашу тестовую базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...