В моем коде реализации у меня есть функция обновления, которая может вызываться несколько раз.Обновления завершены, то есть, если вы позвоните updateFn(A)
, то updateFn(B)
, «A» не будет иметь значения, и будет действовать только «B».Я мог бы написать утверждение так:
assert(updateFn.calledWith(B));
Что на первый взгляд кажется хорошим тестом.Однако это утверждение все равно прошло бы, если бы фактические вызовы были updateFn(A)
→ updateFn(B)
→ updateFn(A)
, что было бы некорректным поведением для рассматриваемой системы.
То, что я хотел бы написать, является утверждениемтолько на самых последних вызванных аргументах.Есть ли хороший способ сделать это с Синоном?