C# 我应该将所有者参数从单元测试传递给对话框什么?
我正在使用VisualStudio2010中的内置单元测试。下面的代码显示了我的单元测试的基本结构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
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的主窗口。。。