配置測試應用程式

一旦準備好 UWP 應用程式進行測試,就應該在解決方案中新增測試應用程式。要做到正確,請單擊解決方案並選擇“單元測試應用程式(通用 Windows)”:

StackOverflow 文件

將其新增到解決方案後,配置它需要更多步驟。系統將要求你選擇目標和最低平臺版本:

StackOverflow 文件

選擇它們後,開啟“project.json”檔案並新增以下依賴項:

"dependencies": 
 {
  "Microsoft.NETCore.UniversalWindowsPlatform": "5.1.0",
  "xunit.runner.visualstudio": "2.1.0",
  "xunit": "2.1.0",
  "xunit.runner.devices": "2.1.0"
 }

這些用於下載和新增 NuGet xUnit Framework 包,以便為 UWP 應用程式輕鬆進行單元測試。

刪除名為“MSTestFramework.Universal”的引用:

StackOverflow 文件

現在開啟“UnitTest.cs”檔案。將其修改為如下所示:

using System;
using Xunit;

namespace UnitTestsForUwp
{
  public class UnitTest1
   {
       [Fact]
       public void TestMethod1()
        {
          Assert.Equal(4, 4);
        }

       [Theory]
       [InlineData(6)]
       public void TestMethod2(int value)
        {
          Assert.True(IsOdd(value));
        }

       bool IsOdd(int value)
        {
          return value % 2 == 1;
        }
     }
   }
}

最好暫時停下來談談 xUnit 屬性:

一個。事實測試總是如此。他們測試不變的條件。

灣理論 - 僅對特定資料集進行測試。

現在我們要準備應用程式以顯示有關測試的資訊,但不僅僅是 - 有一個好的方法來開始測試是好的。為了實現這一點,我們需要在“UnitTestApp.xaml”檔案中進行小的更改。開啟它並用以下貼上替換所有程式碼:

<ui:RunnerApplication
 x:Class="UnitTestsForUwp.App"
 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 xmlns:local="using:UnitTestsForUwp"
 xmlns:ui = "using:Xunit.Runners.UI"
 RequestedTheme="Light">
</ui:RunnerApplication>

請記住,local 應與你的名稱空間具有相同的名稱。

現在開啟“UnitTestApp.xaml.cs”並用下面的程式碼替換:

sealed partial class App : RunnerApplication
 {
   protected override void OnInitializeRunner()
    {
      AddTestAssembly(GetType().GetTypeInfo().Assembly);
      InitializeRunner();
    }
    partial void InitializeRunner();
  }

而已! 現在重建專案並啟動測試應用程式。如你所見,你可以訪問所有測試,你可以啟動它們並檢查結果:

StackOverflow 文件