Я хочу написать несколько модульных тестов для своего класса C #. У меня есть базовый класс BaseClass
, в котором есть абстрактный метод Execute
, а также метод Redirect
. У меня есть класс Class1
, который наследует BaseClass
и реализует абстрактный метод Execute
, метод, который я хочу протестировать. Следующий код объясняет дальнейшую настройку:
public abstract class BaseClass
{
public abstract void Execute();
public void Redirect()
{
// redirect code here
}
}
public class Class1 : BaseClass
{
public void Execute()
{
// do some processing
this.Redirect();
}
}
Я работаю с mstest и использую насмешки для носорогов. Я хочу написать тесты для Execute
метода, чтобы проверить, работает ли он так, как я ожидал.
Как видно из вышеизложенного, метод Execute
вызывает базовый метод Redirect
, поэтому я ожидаю, что будет вызван метод Redirect
.
Я использую репозиторий макетов Rhino для создания частичного макета Class1
. Созданный макет содержит метод Execute
, что замечательно, но не содержит ссылки на метод Redirect
, который находится в Class1
. Я хочу иметь возможность установить ожидание в фиктивном репозитории, что вызывается метод Redirect
.
Какие-нибудь советы или подсказки относительно того, как я мог бы создать тест с имитацией носорога, чтобы достичь того, что я обрисовал в общих чертах?