Проведение делегатских мероприятий в Мок - PullRequest
5 голосов
/ 20 февраля 2012

в моей настройке moq, я хочу вызвать событие делегата. Как мне это сделать?

Для проверки:

public class SomeClassToBeTested
{
   public void SomeMethodToTest()
   {
      var event = new ThreadStart(someOtherClass.SomeMethod);
      someOtherClass.SomeDelegate += new SomeOtherClass.someDelegate(TriggerMethod);
   }

   public void TriggerMethod()
   {
      // do something 
   }
}

Тестовый класс:

[Test]
public void SomeTest()
{
   this.moqSomeOtherClass.Setup(fd => fd.SomeMethod())
                         .Raises(fd => // trigger delgate);
}

1 Ответ

3 голосов
/ 20 февраля 2012

Попробуйте:

[Test]
public void SomeTest()
{
   this.moqSomeOtherClass.Setup(fd => fd.SomeMethod())
                         .Raises(fd => fd.SomeDelegate +=null);
}
...