0

我正在尝试为最近编写的 WPF/C# 应用程序设置测试套件。我没有使用任何类型的 MVVM 模式,我意识到这会使自动化测试变得更加困难,但这是目前的情况,我的老板不会给我额外的时间进行重写。因此,我正在努力利用这种情况。

在我的测试项目中,我打电话给MainWindow()ctor。我在创建之前启动了DoWorka 的方法BackgroundWorker,以便能够(Action)delegate通过窗口的Dispatcher. 但是,当我在调用 ctorbgWorker.RunWorkerAsync()之前调用时MainWindow,ctor 不会被执行(我在其中设置了断点和 nada)。如果我删除对的调用,RunWorkerAsync那么 ctor 可以正常工作。我在这里想念什么?

4

1 回答 1

0

下面是 BackgroundWorker 的实现。

IsVMBusy = 真;

var worker = new BackgroundWorker();

worker.DoWork += (o, ea) =>

   {

       //Do task here

    };

worker.RunWorkerCompleted += (o, ea) =>

        {
            IsVMBusy = false;
        };
        IsVMBusy = true;
        worker.RunWorkerAsync();
于 2013-10-05T09:01:46.050 回答