Търся да напиша някои модулни тестове за моя 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 и използвам rhino mocks за моите подигравки. Искам да напиша тестове за метода Execute
, за да тествам дали работи както очаквам.
Както можете да видите отгоре, методът Execute
прави извикване към основния метод Redirect
, така че очаквам, че методът Redirect
ще бъде извикан.
Използвам Rhino mocks mockrepository, за да създам частичен макет на Class1
. Създаденият макет съдържа метода Execute
, който е страхотен, но не съдържа препратка към метода Redirect
, който е в Class1
. Искам да мога да задам очакване на макетното хранилище, че методът Redirect
се извиква.
Някакви съвети или съвети как бих могъл да създам тест с имитации на носорог, за да постигна това, което съм очертал?