我已经在一个单元测试项目中创建了一个测试,其中我想使用ShowDialog()函数弹出一个表单:
[TestMethod]
public void TestDialog()
{
// This class inherits from Form
TestForm serviceTestForm = new TestForm("My test form");
serviceTestForm.ShowDialog();
return;
}
我希望这个测试可以到达ShowDialog()
方法,并且在我关闭窗口之前一直运行。然而,当我使用"调试"运行此测试时,测试会到达ShowDialog()
,但没有窗体显示出来。奇怪的是,如果我不使用调试运行,这个完全相同的测试就可以正常工作。
我需要能够在"调试"模式下运行测试并显示窗口。
其他注意事项:
Show()
方法不可取,因为它不会等待窗口关闭才继续。 (而且...它不起作用。)- 这段代码曾经在另一个使用.NET 3.5的项目中成功运行过。这只是说
ShowDialog()
方法策略以前肯定起作用了。(是的,我直接复制了那个可运行的代码。) - 我的问题类似于这个问题,但我的窗体不是另一个对话框的子级,也不在父UI线程内。