Как подделать второй вызов функции с помощью FakeIteasy?C#

Место общения программистов C#
Ответить
Anonymous
 Как подделать второй вызов функции с помощью FakeIteasy?

Сообщение Anonymous »

У меня есть класс, который выглядит так: < /p>

Код: Выделить всё

public int DoWork(int value)
{
return value + GetDataFromDB();
}

public int GetDataFromDB()
{
return 10;
}
< /code>
В реальном мире вторая функция выходит в базу данных и получает значение, которое я не хочу для модульных тестов. Использование Fakeiteasy мой тест выглядит примерно так: < /p>
public void DoWorkTest()
{
//Arrange
DoWorkClass fake = new DoWorkClass(config);
A.CallTo(() => fake.GetDataFromDB()).Returns(1);

//Act
int result = fake.DoWork(5);

//Assert
Assert.That(result, Is.EqualTo(6));
}
< /code>
Однако это бросает ошибку: < /p>
System.ArgumentException : Object 'DoWorkClass' of type DoWorkClass is not recognized as a fake object.
Как я могу использовать Fakeiteasy, чтобы подделать функцию вызова базы данных?

Подробнее здесь: https://stackoverflow.com/questions/797 ... fakeiteasy
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»