Не могу разобраться для чего используется Mock.Verifiable(), если я правильно понимаю, такой код:
var mockContainer = new Mock<CloudBlobContainer>(MockBehavior.Strict, StorageUri);
mockContainer.Setup(c => c.GetBlockBlobReference(It.IsAny<string>()))
.Returns(mockBlobItem.Object);
// ...
mockContainer.Verify(c => c.GetBlockBlobReference(It.IsAny<string>()), Times.AtLeastOnce);
Будет эквивалентен такому:
var mockContainer = new Mock<CloudBlobContainer>(MockBehavior.Strict, StorageUri);
mockContainer.Setup(c => c.GetBlockBlobReference(It.IsAny<string>()))
.Returns(mockBlobItem.Object)
.Verifiable();
// ...
mockContainer.Verify();
Моё понимание верно?
Да Вы всё верно поняли.
Насколько можно судить из статьи этот метод может быть использован для проверки вызова ранее вызова метода определённого в Setup.
var thing = new Thing() { Id = 1 };
var mockMapper = new Mock<IThingMapper>();
mockMapper.Setup(p => p.Save(thing)).Verifiable();
// do stuff
mockMapper.Verify();
Кроме того согласно англоязычного ответа желательно не использовать этот подход т.к. он явно противоречит паттерну AAA.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости