C# · 12月 27, 2021

c# – 如何通过单元测试以编程方式启动WPF应用程序?

问题

VS2010和TFS2010支持创建所谓的Coded UI Tests.我发现的所有演示文稿都是从开始编程UI测试开始的后台运行的WPF应用程序开始的,或者使用绝对路径启动EXE.

但是,我想从单元测试代码开始我的WPF应用程序的测试.这样,它也可以在构建服务器和我的同行的工作副本上工作.

我该如何做到这一点?

我的发现到目前为止

a)这篇文章显示how to start a XAML window.但这不是我想要的.我想启动App.xaml,因为它包含XAML资源,并且在后面的代码文件中有应用程序逻辑.

b)this post上的第二个屏幕截图显示了一行

ApplicationUnterTest calculatorWindow = ApplicationUnderTest.Launch(…);

这在概念上几乎是我正在寻找的,除了这个例子再次使用可执行文件的绝对路径.

c)Google search for “Programmatically start WPF”也没有帮助.

解决方法 MyProject.App myApp = new MyProject.App();myApp.InitializeComponent();myApp.Run();