Я прохожу через рельсы rspec для уроков зомби, и у меня возникают проблемы с запуском тестов, поскольку они не читают мой код ruby в моей папке App/models. Я даже попытался поместить файл ruby, который я вызываю zombie.rb в саму спецификацию, и требует_relative, и все еще тест терпит неудачу, может кто-то, пожалуйста, помогите мне. Я новичок, и я нахожу, что TDD - лучший и быстрый способ научиться правильно кодировать код. Мой код ниже. Что у меня есть как в файле zombie_spec.rb, так и в файле zombie.rb соответственно:Rspec и Rails для Zombies-Test не работают
require_relative 'spec_helper'
require_relative 'zombie'
describe Zombie do
it 'is invalid without a name' do
zombie = Zombie.new
zombie.should_not be_valid
end
it 'include tweets' do
tweet1 = Tweet.new(status: 'Uuuuunhhhhh')
tweet2 = Tweet.new(status: 'Arrrrggggg')
zombie = Zombie.new(name: 'Ash', tweets: [tweet1, tweet2])
zombie.tweets.should include(tweet1)
zombie.tweets.should include(tweet2)
end
end
и zombie.rb файл здесь
class Zombie < ActiveRecord::Base
attr_accessor :Tweet
validates :name, presence: true
end
Это результат теста я получаю
1) Zombie is invalid without a name
Failure/Error: zombie = Zombie.new
ActiveRecord::StatementInvalid:
Could not find table 'zombies'
# ./zombie_spec.rb:8:in `block (2 levels) in <top (required)>
2) Zombie include tweets
Failure/Error: tweet1 = Tweet.new(status: 'Uuuuunhhhhh')
NameError:
uninitialized constant Tweet
# ./zombie_spec.rb:15:in `block (2 levels) in <top (required)>'
Я сделал рейк моей базы данных, но ошибка активной записи все еще происходит. – user2420858
Вы просматривали свою базу данных, чтобы подтвердить, что таблица присутствует? –
По http://stackoverflow.com/questions/16313304/activerecordstatementinvalid-could-not-find-table и другие, это сообщение об ошибке, которое вы получаете, когда база данных не настроена правильно. –