# model
class Post < ActiveRecord::Base
has_many :comments
end
# model spec
RSpec.describe Post, type: :model do
subject { build(:post) }
it { is_expected.to have_many(:comments) }
end
以上是验证模型has_many
关联的测试用例。同样,是否有任何选项可以为Serializer验证相同的内容?
# serializer
class PostSerializer < ActiveModel::Serializer
has_many :comments
end
# serializer spec
RSpec.describe PostSerializer, type: :serializer do
let(:serializer) { PostSerializer.new(create(:post)) }
# validation for `has_many` association.
end
答案 0 :(得分:0)
我不认为active_model_serializers
有一个RSpec匹配器,它是一个单独的第三方gem。您最好的办法是使用序列化程序生成as_json
的哈希值,并将其结果与测试结果进行比较。