Как можно ожидать, что метод будет вызываться несколько раз с разными аргументами - PullRequest
3 голосов
/ 11 июля 2019

Я хочу иметь возможность ожидать несколько вызовов одного и того же метода с разными аргументами в Minitest.

Представьте метод и определение класса:

class TicketSeller
  def complete
    EventHandler.trigger(:payment_processed)
    EventHandler.trigger(:ticket_sold)
  end
end

Я ожидаю, что следующий тест пройдёт:

test "triggers events :payment_processed and :ticket_sold" do
  # set up expectations
  EventHandler.expects(:trigger).with(:payment_processed)
  EventHandler.expects(:trigger).with(:ticket_sold)

  # invoke method
  TicketSeller.new.complete
end

Вместо этого я получаю сообщение об ошибке:

--- expected
+++ actual
@@ -1 +1 @@
-:payment_processed
+:ticket_sold
...