我刚刚开始玩Rails(使用Rspec和Shoulda Matchers)来构建一个演示博客。
我刚刚开始,我的第一次测试失败但我不明白为什么。
我认为我已经正确设置了所有内容,但是当我尝试验证我的文章模型中是否存在标题但是它返回失败时
Shoulda::Matchers::ActiveModel::AllowValueMatcher::AttributeDoesNotExistError:
The matcher attempted to set :title on the Article to nil, but that
attribute does not exist.
我的模特看起来像这样......
class Article < ApplicationRecord
# attr_accessor :title
validates_presence_of :title
end
和我的考试......
require 'rails_helper'
RSpec.describe Article do
it { should validate_presence_of :title }
end
如果我取消注释attr_accessor然后测试通过,但我知道Rails不需要它。
我做错了什么?
答案 0 :(得分:0)
只要您的attr_accessor
数据库表具有articles
列,就不需要title
。
您可以在db/schema.rb
。