我应该将owner参数传递给单元测试中的对话框

本文关键字:对话框 单元测试 owner 参数传递 我应该 | 更新日期: 2023-09-27 17:54:06

我正在使用Visual Studio 2010中的内置单元测试。下面的代码显示了我的单元测试的基本结构。

public void StartEditorTest()
{
    IWin32Window owner = null;
    var openDialog = new OpenFileDialog();
    openDialog.Title = "Select file";
    if (openDialog.ShowDialog(owner) == DialogResult.OK)
    {
        bool expected = false; // TODO: Initialize to an appropriate value
        bool actual;
        var myEditorForm = new MyEditorForm();
        // StartEditor does some initialization, calls ShowDialog(owner)
        // and returns a boolean
        actual = myEditorForm.StartEditor(owner, openDialog.FileName);
        Assert.AreEqual(expected, actual);
    }
}

我遇到的问题是,openDialog并不总是显示为前景窗口。它正确打开,但嵌套在windows z顺序的某个地方,我必须按Alt-Tab才能找到它。

我想指定Visual Studio IDE作为所有者,但我不确定如何做到这一点,或者即使这是正确的事情要做。我只是希望从我的单元测试中启动的任何对话框都显示在前台。

我应该将owner参数传递给单元测试中的对话框

有更适合于此的ui测试框架。试着搜索。net自动ui测试