Почему вы думаете, что B кажется более правильным?
Пример A говорит внутри объекта Проверка, что PropertyA вызвала foo.
objectA и objectB никак не связаны друг с другом в этом примере. Таким образом, пример B кажется вводящим в заблуждение в его нынешней форме, поскольку он пытается указать, что существует какая-то связь.
Теперь, если вы используете setup
, чтобы назначить objectB для objectA, тогда оба примера должны работать (потому что вы говорите Moq, как objectA относится к objectB). Выполнение этой настройки создает отношения, которые вы хотите проверить.
Что-то вроде:
objectA.Setup(x => x.PropertyA).Returns(objectB)
Это в основном говорит: ", когда вызывается PropertyA, вернуть мне объект B. "