Я разрабатываю некоторые тестовые примеры для очень старого унаследованного приложения, работающего на Rails 3.
Я создал простой тест здесь:
test/functional/transactions_controller.rb
require 'test_helper'
class TransactionsControllerTest < ActionController::TestCase
test "the truth" do
assert true
end
# test "product recycled is removed from the iventory" do
# assert true
# end
end
Я уже запускаю:
bundle exec rake db:create RAILS_ENV=test
bundle exec rake db:schema:load RAILS_ENV=test
Когда я пытаюсь сделать свой тест с помощью этой команды:
ruby -Itest test/functional/transactions_controller_test.rb
Я получаю эту ошибку:
TransactionsControllerTest
ERROR (0:00:00.089) the truth
Mysql2::Error: Unknown column 'shiped_at' in 'field list': INSERT INTO `bill_of_ladings` (`shiped_at`, `created_at`, `updated_at`, `id`) VALUES ('2012-02-27 09:51:12', '2018-12-20 13:15:21', '2018-12-20 13:15:21', 980190962)
Если я просто прокомментирую в своем тесте «проверить правду»линия.Это работает (я боялся, что это что-то связано с моей средой).
This is my test/fixtures/bill_of_lading.yml
one:
customer:
shiped_at: 2012-02-27 09:51:12
two:
customer:
shiped_at: 2012-02-27 09:51:12
Хорошо.Мой тест ничего не делает, только «подтвердить истину».Почему тестовый пример пытается вставить что-то в базу данных?Я что-то здесь упускаю?
Спасибо