C# Moq не может вернуть правильное значение ⇐ C#
-
Гость
C# Moq не может вернуть правильное значение
Я создаю объект Mock, чтобы имитировать вызов метода, который должен возвращать 1, используя Moq в проекте модульного тестирования MSTest для тестирования функции Azure.
Мой интерфейс –
публичный интерфейс IMyInterface { public int UpdateDB (MyClass obj); } Реализация метода моего класса –
public int UpdateDB (MyClass obj) { пытаться { интервал я = 0; используя (var db = dbContext) { db.myClassEntitity.Add(obj); я = db.SaveChanges(); } вернуть я; } //перехватываем блок } Вызов метода в моей функции Azure-
int rows = _dataUpdater.UpdateDB(obj); Издевательский код в моем тестовом проекте -
private readonly Mock _dbUpdater = new Mock(); _dbUpdater.Setup(p => p.UpdateDB(obj)).Returns(1); Моя проблема заключается в том, что всякий раз, когда я отлаживаю тест и обращаюсь к функции Azure, этот код всегда возвращает 0,
int rows = _dataUpdater.UpdateDB(obj); хотя в моей настройке Mock я попросил вернуть 1. В чем может быть проблема, мне чего-то не хватает?
Я создаю объект Mock, чтобы имитировать вызов метода, который должен возвращать 1, используя Moq в проекте модульного тестирования MSTest для тестирования функции Azure.
Мой интерфейс –
публичный интерфейс IMyInterface { public int UpdateDB (MyClass obj); } Реализация метода моего класса –
public int UpdateDB (MyClass obj) { пытаться { интервал я = 0; используя (var db = dbContext) { db.myClassEntitity.Add(obj); я = db.SaveChanges(); } вернуть я; } //перехватываем блок } Вызов метода в моей функции Azure-
int rows = _dataUpdater.UpdateDB(obj); Издевательский код в моем тестовом проекте -
private readonly Mock _dbUpdater = new Mock(); _dbUpdater.Setup(p => p.UpdateDB(obj)).Returns(1); Моя проблема заключается в том, что всякий раз, когда я отлаживаю тест и обращаюсь к функции Azure, этот код всегда возвращает 0,
int rows = _dataUpdater.UpdateDB(obj); хотя в моей настройке Mock я попросил вернуть 1. В чем может быть проблема, мне чего-то не хватает?
Мобильная версия