В этом случае, когда обновление статуса в представлении не дает какого-либо «результата», который вы могли бы утверждать, я бы также пошел на строгие проверки.Таким образом, вы устанавливаете точно вызовов, которые вы ожидаете совершить на макетируемом объекте (и точное количество этих вызовов).Когда вы измените тип макета, ваш тест мгновенно станет правильным.
Этот способ намного лучше, чем ваши первые два варианта (потому что он провалит тест, даже если вы не угадаете правильные значения параметров или забудете установить ожидание, которое вызовет исключение),также более читабельно (по крайней мере, ИМХО).
Что касается разделения тестов, всегда желательно, чтобы модульные тесты были как можно меньше.Таким образом, вопрос заключается в том, хотите ли вы проверить, что происходит, когда у вас есть этот неправильный вызов после двух правильных вызовов?Или достаточно одного неверного звонка?