Одним из источников путаницы вокруг моков, является то, что моки могут быть с отслеживанием состояния.
Например, эта функция:
const fn = vi.fn()
fn('one')
fn('two')
fn.mock.calls
// [ ["one"], ["two"] ]
В приведенном выше примере функция-заглушка fn имеет состояние, которое отслеживает все вызовы, сделанные к ней. Само состояние не является проблемой. На самом деле, вам это состояние нужно! Оно необходимо для проверки правильного количества вызовов и их аргументов во время теста.