.NET & UT - The current SynchronizationContext may not be used as a TaskScheduler
Notka w temacie testów jednostkowych (Unite Testing), a dokładniej recepta na problem z SynchronizationContext - System.InvalidOperationException: The current SynchronizationContext may not be used as a TaskScheduler.
Co powoduje ten problem?
Rzecz w tym, że SynchronizationContext ustalany jest w wątku UI (UI Thread), a test odbywa się w osobnym wątku, przez co nie mamy dostępu do tego kontekstu. Domyślnie więc, testując kod, który odwołuje się do SynchronizationContext-u skazani jesteśmy na error o treści, którą podałem we wstępie. Na szczęście można ten kontekst ustalić ręcznie
Jak rozwiązać ten problem z testem?
Po prostu sami, ręcznie ustalimy ten kontekst w wątku testu. Wystarczy do jego kodu dopisać:Takie podejście powinno zmniejszyć listę błędów o jeden wpis ;)
Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!