Я немного застрял (возможно, потому что я впервые использую Minitest), где я хочу stub
метод, который принимает аргумент.
def self.bonsai_site_configuration(since=nil)
data = []
Site.all.reduce(data) do |data, site|
begin
data << JSON.parse(site.bonsai_desc)
rescue StandardError => exception
notify_exception(exception)
end
data
end
return {data: data`}
end
Все, что я просматриваю здесьзаключается в том, что если тестовые случаи, где если site.bonsai_desc
не удается (то есть, выбросить исключение).Он должен вызвать notify_exception
с заданным exception
Вот как выглядит мой минимальный тест
test "should return bonsai_site_configuration even on exception" do
site = Site.first
raises_exception = -> { raise 'boom' }
Site.stub(:all, [site]) do
site.stub(:bonsai_desc, raises_exception) do
Site.stub(:notify_exception) do
bonsai_information = Site.bonsai_site_configuration
assert_equal(0, bonsai_information[:data].count)
end
end
end
end
После запуска минимального теста тест проходит, но я хочу убедиться, что проверка аргументов также включена.
Что мне делать?