首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RSpec模型测试:失败

RSpec模型测试:失败
EN

Stack Overflow用户
提问于 2014-11-05 17:23:57
回答 2查看 100关注 0票数 0

我在自学RSpec (v3.1.7)。我已经在一个现有的rails应用中安装了带有rails g rspec:install的rspec --这是我刚刚创建的。

我创建了一个模型:rails g rspec:model zombie。运行迁移,一切都进行得很顺利。

在: app/models/zombie.rb:

代码语言:javascript
运行
复制
class Zombie < ActiveRecord::Base
   validates :name, presence: true
end  

在:app/spec/model/zombie_spec.rb中:

代码语言:javascript
运行
复制
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 I得到:

代码语言:javascript
运行
复制
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)>'

我正在看一个视频教程,我跟着视频(用RSpec测试)一直到后者。我就像在第二章里瘦了一样。我是不是遗漏了什么?该视频是否使用较旧版本的rspec作为视频教程?

在迁移文件中:

代码语言:javascript
运行
复制
class CreateZombies < ActiveRecord::Migration
  def change
     create_table :zombies do |t|

      t.timestamps
     end
  end
end
EN

Stack Overflow用户

发布于 2014-11-05 18:15:36

我认为您遗漏了name属性。以下迁移文件将向僵尸模型添加名称属性:

代码语言:javascript
运行
复制
class AddNameToZombies < ActiveRecord::Migration
  def change
    add_column :zombies, :name, :string
  end
end

最后运行以下命令:

代码语言:javascript
运行
复制
rake db:migrate

rake db:test:prepare

就是这样

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26753487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档