Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我可以在运行的WPF应用程序上运行Visual Studio单元测试吗?_C#_Wpf_Unit Testing_Xaml_Mvvm - Fatal编程技术网

C# 我可以在运行的WPF应用程序上运行Visual Studio单元测试吗?

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

我试图在MainWindow.xaml.cs下的WPF应用程序中对各种方法运行单元测试。我遇到的问题是,要访问这些方法,我需要一个MainWindow的实例,因此我需要初始化应用程序的实例

当我调用
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?