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, чтобы подделать функцию вызова базы данных?
У меня есть класс, который выглядит так: < /p> [code]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. [/code] Как я могу использовать Fakeiteasy, чтобы подделать функцию вызова базы данных?