【问题标题】:UWP Unit Test for exit and restart of App用于退出和重启应用程序的 UWP 单元测试
【发布时间】:2019-02-04 20:14:04
【问题描述】:

我想编写一些模拟以下内容的单元测试:

1.) User starts my app
2.) User quits my app (unexpectantly during some operation)
3.) User restarts my app
4.) Unit test then checks to see that my code recovered from this.

拥有setup UWP Unit tests using these instructions,我可以看到单元测试项目在 UnitTestApp.xaml.cs 文件中创建了一个像这样的测试 UWP 应用:

        Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.CreateDefaultUI();

        // Ensure the current window is active
        Window.Current.Activate();

        Microsoft.VisualStudio.TestPlatform.TestExecutor.UnitTestClient.Run(e.Arguments);

理想情况下,我想在单个单元测试中以某种方式杀死/退出/中止此窗口(或其框架,或 ??),然后重新启动它并进行此单元测试,随后的单元测试将继续。

如果这不可行,那么我只想知道其他人如何创建单元测试来处理其应用程序的退出和重新启动。

我更喜欢 Visual Studio 2015 的答案,但 Visual Studio 2017 的说明也会有所帮助。

【问题讨论】:

    标签: visual-studio unit-testing visual-studio-2015 uwp windows-10-universal


    【解决方案1】:

    可以像winui 那样从测试用例启动和控制应用程序, UAPApp.Launch 将帮助您启动应用程序。 我没有看到关于 UAPApp.Launch 的公开文档,签名可以在Microsoft.Windows.Apps.Test.chm找到

    例如,对于 navigationview 测试,TestEnvironment 发挥了作用:

     public static void ClassInitialize(TestContext testContext)
        {
            TestEnvironment.Initialize(testContext);
        }
    

    如果你深入了解TestEnviroment,CreateApplication 函数会新建 Application,最后在 Application.cs 中,testapp 是由以下人员启动的:

    return UAPApp.Launch(_appName, topLevelWindowCondition);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-16
      • 2016-06-06
      • 1970-01-01
      • 2016-08-14
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多