【发布时间】:2018-11-16 15:01:37
【问题描述】:
我的问题是我想模拟从数据库返回一些数据的自定义验证方法(id 列表 - 检查给定的 id 是否在我的数据库中)。
少说话,多写代码: 在我的 Newsletter::Contract::Create 类中我有
validation do
configure do
config.messages_file = "config/error_messages.yml"
def publisher_exists?(value)
Publisher.where(id: value).present?
end
end
required(:publisher_id).filled(:publisher_exists?)
end
在测试中,我尝试运行
expect(Newsletter::Contract::Create).to receive(:publisher_exists?).and_return(true)
但显然我收到了
Newsletter::Contract::Create does not implement: publisher_exists?
所以问题是我的自定义验证方法需要什么对象,所以我可以模拟它?;]
【问题讨论】:
标签: rspec trailblazer reform dry-rb