Возможно, вам будет интересно узнать, что по состоянию на v 4.1 Moq теперь имеет значительно улучшенную безопасность потоков, и вы должны найти такие тесты, как ваш, при параллельной работе теперь должны проверятькак и ожидалось.
Подробнее о нестабильном поведении Moq здесь
Типичные проблемы, встречающиеся в версиях <= 4.0, включали случайные <code>NullReferenceException или IndexOutOfRangeException
, иmock.Verify(<>, Times.Exactly(N))
не удалось (обычно с недостаточным количеством).Начиная с 4.1, эти проблемы теперь кажутся исправленными MacGyvered , ~ благодаря сообществу!
Редактировать Согласно @ комментарию Дэнни нижеобратите внимание, что изменения, внесенные в 4.1, включали блокировку Mock , которая не очень полезна, если вам нужно проверить параллельность вашего кода.