C# 我应该将所有者参数从单元测试传递给对话框什么?

C# 我应该将所有者参数从单元测试传递给对话框什么?,c#,visual-studio-2010,unit-testing,C#,Visual Studio 2010,Unit Testing,我正在使用VisualStudio2010中的内置单元测试。下面的代码显示了我的单元测试的基本结构 public void StartEditorTest() { IWin32Window owner = null; var openDialog = new OpenFileDialog(); openDialog.Title = "Select file"; if (openDialog.ShowDialog(owner) == DialogResult.O

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

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键才能找到它


我希望将VisualStudioIDE指定为所有者,但我不确定该如何做,甚至不确定这样做是否正确。我只希望从单元测试启动的任何对话框都显示在前台。

有一些ui测试框架更适合于此。试试谷歌搜索

有一些ui测试框架更适合这种情况。试着在谷歌上搜索一条评论:这不是单元测试。单元测试应该是独立的。你必须输入任何东西都不是“独立的”。我明白了。我这样做是为了便于使用(阅读“lazy”),以便能够测试不同的文件。我认为,您无法找到正确的所有者,因为它将是VisualStudio的一个内部窗口。也许,你可以试着使用VS的主窗口……只是一个注释:这不是单元测试。单元测试应该是独立的。你必须输入任何东西都不是“独立的”。我明白了。我这样做是为了便于使用(阅读“lazy”),以便能够测试不同的文件。我认为,您无法找到正确的所有者,因为它将是VisualStudio的一个内部窗口。也许,你可以尝试使用VS的主窗口。。。