Я преподаю RSpec (v3.1.7). Я установил rspec с rails g rspec:install
в существующее приложение rails - только что созданное.RSpec Модель Тестирование: сбои
Я создал модель: rails g rspec:model zombie
. Ранняя миграция, и все прошло хорошо.
В: приложение/модели/zombie.rb:
class Zombie < ActiveRecord::Base
validates :name, presence: true
end
В: приложение/спецификации/модели/zombie_spec.rb:
require 'rails_helper'
RSpec.describe Zombie, :type => :model do
it 'is invalid without a name' do
zombie = Zombie.new
zombie.should_not be_valid
end
end
В терминале, когда я побежал (в приложении реж): rspec spec/models
я получаю:
F
Failures:
1) Zombie is invalid without a name
Failure/Error: zombie.should_not be_valid
NoMethodError:
undefined method `name' for #<Zombie id: nil, created_at: nil, updated_at: nil>
# ./spec/models/zombie_spec.rb:6:in `block (2 levels) in <top (required)>'
Im после видеоурок и я последовал за видео (тестирование с RSpec) вниз к Latt э. Мне нравится потерять вес во второй главе. Я что-то упускаю? Является ли видео с использованием старой версии rspec для своего видеоурока?
В моей миграции файла:
class CreateZombies < ActiveRecord::Migration
def change
create_table :zombies do |t|
t.timestamps
end
end
end
Я создал 'attr_accessor: name' и это работает да. Но у видео нет attr_accessor! Я потерян! – Sylar
Проверьте эти две ссылки: http://guides.rubyonrails.org/migrations.html#using-the-change-method adn http://guides.rubyonrails.org/migrations.html#running-migrations-in-different- Окружающая среда – jyrkim