C# 我可以在运行的WPF应用程序上运行Visual Studio单元测试吗?
我试图在MainWindow.xaml.cs下的WPF应用程序中对各种方法运行单元测试。我遇到的问题是,要访问这些方法,我需要一个MainWindow的实例,因此我需要初始化应用程序的实例 当我调用C# 我可以在运行的WPF应用程序上运行Visual Studio单元测试吗?,c#,wpf,unit-testing,xaml,mvvm,C#,Wpf,Unit Testing,Xaml,Mvvm,我试图在MainWindow.xaml.cs下的WPF应用程序中对各种方法运行单元测试。我遇到的问题是,要访问这些方法,我需要一个MainWindow的实例,因此我需要初始化应用程序的实例 当我调用App.Run()时,在应用程序关闭之前,我无法在此之后运行任何单元测试。是否有一种方法可以将其放在某种后台任务中,以便通过单元测试与这个正在运行的实例进行交互,或者我需要将代码重新构造为MVVM代码结构 以下是我迄今为止所尝试的: AppInstance = new App(); AppInstan
App.Run()
时,在应用程序关闭之前,我无法在此之后运行任何单元测试。是否有一种方法可以将其放在某种后台任务中,以便通过单元测试与这个正在运行的实例进行交互,或者我需要将代码重新构造为MVVM代码结构
以下是我迄今为止所尝试的:
AppInstance = new App();
AppInstance.InitializeComponent();
Task appRunTask = new Task(() => AppInstance.Run());
appRunTask.Start();
// Various unit test initialization and test methods.
编辑:
不再需要了,现在通过不使用单元测试找到了解决办法。“要访问这些方法,我需要一个主窗口实例”-我还没有使用单元测试,但这听起来像是应用程序不可单元测试。。然而,你需要按照你对MVVM说的那样重新构造你的代码,并测试你的ViewModels。还是你想做UITests?