Могут ли проекты Visual Studio Test справиться с событиями и делегатами? - PullRequest
1 голос
/ 06 мая 2009

Я работаю над новой функциональностью для большого проекта на C #, который в основном является устаревшим кодом. Область, над которой я работаю, обрабатывает сообщения XML-схемы, создает расписание их передачи и помещает их в какой-то устаревший код таймера, который уведомляет меня, когда они должны быть отправлены.

Несмотря на то, что я новичок в этом, тестовые проекты Visual Studio оказываются полезными в том смысле, что я могу тестировать свой код, не пытаясь запустить полную систему (что может занять до 30 минут на тестовом оборудовании!) *

Я статически протестировал свой код обработки событий, но теперь хотел бы сделать это динамически. Это возможно? Если да, то как мне заставить тестовый проект ждать события без истечения времени ожидания?

1 Ответ

2 голосов
/ 07 мая 2009

Если я вас правильно понимаю, вы можете использовать дескриптор ожидания для оповещения о событии, и ваш тестовый проект ожидает, чтобы дескриптор события был сигнализирован.

void Foo()
{
   var eventSource = ...;
   var waitHandle = new ManualResetEvent(false);
   eventSource.SomeEvent += (sender, e) => waitHandle.Set();

   ...

   // Wait for the event to be fired.
   waitHandle.WaitOne();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...