NUnit测试启动WPF应用,但WPF每个AppDomain只允许一个应用

bas*_*bas 5 c# wpf nunit appdomain

我正在编写启动我的 WPF 应用程序的验收测试,如下所示:

    [TestCase("279")]
    [TestCase("281")]
    [TestCase("289")]
    public void StartAndInitializeSystemControl(string machineNumber)
    {
        application = new App();
        systemControl = new SystemControl(application, machineNumber);
        application.Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() => ApplicationOnActivated(null, null)));
        application.Run();
        Assert.Pass();
    }
Run Code Online (Sandbox Code Playgroud)

我省略了不相关的部分。我在上面的代码中做的是启动 WPF App,启动应用程序并Application.Run()执行某些内容并验证某些内容。一切都很好,工作正常。当我开始添加测试用例时,事情开始向南。当我添加测试用例时,我为每个 AppDomain 启动了多个 WPF 应用程序,这是不允许的。

System.InvalidOperationException:无法在同一个 AppDomain 中创建多个 System.Windows.Application 实例。

我该如何解决这个问题?我可以从 AppDomain 中“清除”启动的应用程序吗?我可以为我开始的每个测试启动不同的 AppDomain 吗?