Как подделать второй вызов функции с помощью 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

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