Есть ли способ утверждать, что мой издевавшийся объект «получил»?Как проверить, что макет был «получен»?
public class Car
{
private readonly IValidationDict _validationDict;
public Car(IValidationDict validationDict)
{
_validationDict = validationDict;
}
public void Go()
{
var myValidation = _validationDict; //I would like to assert that _validationDict was indeed assigned to another variable or "gotten"
}
}
В моем модульном тесте я бы что-то вроде:
var mock = new Mock<IValidationDict>();
var sut = new Car(IValidationDict.Object);
Есть ли способ, чтобы утверждать, что мой издевались объект «получил»?
Что происходит с 'myValidation' в остальной части метода? Предположительно, он вызывает некоторого члена макета, поэтому вы должны быть в состоянии заявить об этом. – Lee
@ Lee would not это не классическое модульное тестирование, а в зависимости от чего-то еще для работы? –
Я не уверен, что вы подразумеваете под «в зависимости от чего-то еще, чтобы работать», но поскольку «Go» - это метод пустоты, вы выполняете его только для своих побочных эффектов. Поскольку вы даете макет в своем тесте, вы утверждаете эти эффекты через ожидания на макет, который вы предоставляете. Детали того, как это происходит в методе 'Go', должны быть неактуальны для теста. – Lee