试图理解为什么 validates_presence_of 测试失败
Trying to understand why validates_presence_of test fails
我刚开始玩 Rails(使用 Rspec 和 Shoulda Matchers)来构建演示博客。
我刚刚开始,我的第一个测试失败了,但我不明白为什么。
我认为我已经正确设置了所有内容,但是当我尝试验证文章模型中是否存在标题时,returns 失败了
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 不需要它。
我做错了什么?
不需要 attr_accessor
,只要您的 articles
数据库 table 有一个 title
列。
您可以在 db/schema.rb
.
中查看
我刚开始玩 Rails(使用 Rspec 和 Shoulda Matchers)来构建演示博客。
我刚刚开始,我的第一个测试失败了,但我不明白为什么。
我认为我已经正确设置了所有内容,但是当我尝试验证文章模型中是否存在标题时,returns 失败了
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 不需要它。
我做错了什么?
不需要 attr_accessor
,只要您的 articles
数据库 table 有一个 title
列。
您可以在 db/schema.rb
.