Я пытаюсь использовать NSubstitution в моей программе тестирования модулей C#.NSubstitution для методов в C#?
Я пытаюсь сделать замену методом, называемым внутри mehtod. вот пример:
public class operation
{
public int addition(int a, int b)
{
return (a + b);
}
}
public class anotherClass
{
public int increment(int ax, int bx)
{
operation loc = new operation();
ax = loc.addition(ax,bx);
return (ax + 1);
}
}
Можно ли вызвать метод приращения() в моей основной функции и применить замену к методу сложения()?
Я хочу заставить возвращаемое значение в методе добавления() при вызове метода increment(). например заставить экксим-бросок.
Кроме того, я не могу редактировать код, поэтому добавление реализации интерфейса не будет хорошим решением.
Просьба уточнить вашу конкретную проблему или добавить дополнительные детали, чтобы выделить именно то, что вам нужно. Как это написано в настоящее время, трудно точно сказать, что вы просите. См. Страницу «Как спросить», чтобы помочь прояснить этот вопрос. – mybirthname
Я добавил больше ясности к цели. @mybirthname –
NSubstitute всегда возвращает новый объект, где вы можете переопределить методы (при условии, что вы заменяете интерфейс или класс виртуальными методами), он не изменяет существующие объекты или «обычные» объекты .NET. Поскольку вы строите новую «операцию» внутри рассматриваемого метода, вы не можете изменить этот новый объект, вы должны сначала попросить NSubstitute создать его вариант замены, тогда вы должны дать это методу и использовать этот новый объект вместо того, чтобы создавать его собственный. –