【发布时间】:2020-05-25 16:55:54
【问题描述】:
我正在尝试编写一个测试,我需要预期块创建的值来编写断言。
class Identification < ApplicationRecord
include Wisper::Publisher
after_save :publish_identification_declined
private
def publish_identification_declined
if status_previously_changed? && status == "declined"
broadcast(:identification_declined, identification: self)
end
end
end
我试图做这样的事情,但不幸的是 identification_a 最终没有被设置。
require "rails_helper"
RSpec.describe Identification do
it "publish event identification_declined" do
identification_a = nil
expect { identification_a = create(:identification, :declined, id: 1) }
.to broadcast(:identification_declined, identification: identification_a)
end
end
我也有一种感觉,这可能不是一个好主意。
另一种方法是使用 instance_of 匹配器,但我不知道如何检查它是否是正确的实例。
【问题讨论】:
标签: ruby-on-rails ruby rspec wisper