【发布时间】:2016-10-04 09:07:38
【问题描述】:
我在 Visual Studio 2012 中使用 MVVM Light 5.2。我的单元测试是 MS 测试,我不知道如何测试我的异步方法,因为 DispatcherHelper 不会调用我的操作。 使用以下测试,在调试中永远不会到达 Thread.Sleep。
在 MVVM 光源中 DispatcherHelper.CheckBeginInvokeOnUi 调用 UIDispatcher.BeginInvoke(action),什么都没有发生。 我究竟做错了什么 ?
[TestMethod]
public void TestMethod1()
{
DispatcherHelper.Initialize();
TestedMethod();
// Do assert here
}
void TestedMethod()
{
ThreadPool.QueueUserWorkItem((o) =>
{
// Do stuff
DispatcherHelper.CheckBeginInvokeOnUI(() =>
{
// Do stuff
Thread.Sleep(1); // Breakpoint here
});
});
}
【问题讨论】:
标签: c# wpf unit-testing mvvm-light