У нас есть самодельный COM-компонент, написанный на C ++. Теперь мы хотим протестировать его функции и события в тестовом проекте C #. Функциональные тесты довольно просты. Однако события никогда не запускаются.
MyLib.MyClass m = new MyLib.MyClass();
Assert.IsTrue(m.doStuff()); // Works
// This does not work. OnMyEvent is never called!
m.MyEvent += new MyLib.IMyClassEvents_MyEventHandler(OnMyEvent);
m.triggerEvent();
Я искал это в Google и читал о похожих проблемах здесь, в StackOverflow. Я перепробовал все предложенные методы, но не могу заставить их работать!
Пока что я пытался запустить свой тест с активным диспетчером , но безуспешно. Я также пробовал вручную перекачивать сообщения в основном потоке, используя Dispatcher.PushFrame ()
. Ничего такого. Мои события никогда не срабатывают. Я создал простой проект WinForms и убедился, что мои события работают в обычном режиме. Следовательно, эта проблема относится только к модульным тестам.
В: Как мне сделать обычный модульный тест C #, который может успешно запускать активные обработчики событий?
У кого-нибудь должен быть рабочий образец! Пожалуйста помоги.