我正在关注Michale Hartl教程的第8章。当我添加:
it { should respond_to(:remember_token) }
到user_spec.rb文件,测试失败,故障通知直接指向文件中的这一行。
在添加此行之前,所有测试都已过去。
在添加此行之后(以及在运行测试之前)我采取的唯一其他步骤是运行记忆令牌:
$ rails generate migration add_remember_token_to_users
然后我更新了db / migrate / [timestamp] _add_remember_token_to_users.rb,如下所示:
class AddRememberTokenToUsers < ActiveRecord::Migration
def change
add_column :users, :remember_token, :string
add_index :users, :remember_token
end
end
像往常一样开发和测试数据库:
$ bundle exec rake db:migrate
$ bundle exec rake db:test:prepare
答案 0 :(得分:1)
由于Spork
缓存了rails环境,因此在重新启动之前它不知道迁移。
因此,您需要重新启动Spork
服务器,以便重新加载rails环境,包括新的迁移。