C# 有没有一种方法可以在不测试整个应用程序的情况下对类库(通用Windows)进行单元测试?

C# 有没有一种方法可以在不测试整个应用程序的情况下对类库(通用Windows)进行单元测试?,c#,unit-testing,visual-studio-2015,uwp,C#,Unit Testing,Visual Studio 2015,Uwp,我需要对类库(通用Windows)进行单元测试,但在“添加新项目”窗口中,我只看到以下内容: 此项目使用应用程序容器运行所有测试,它始终打开应用程序。由于我不需要所有的开销,我想知道是否有一种方法可以只对UWP库进行单元测试。向项目中添加类库,并添加nUnit nuget库和对要测试的类库的引用 [TestMethod] public void TestCalculationFruitSmoothie() { PointsCalculator2.Core

我需要对
类库(通用Windows)
进行单元测试,但在“添加新项目”窗口中,我只看到以下内容:


此项目使用应用程序容器运行所有测试,它始终打开应用程序。由于我不需要所有的开销,我想知道是否有一种方法可以只对UWP库进行单元测试。

向项目中添加类库,并添加nUnit nuget库和对要测试的类库的引用

    [TestMethod]
    public void TestCalculationFruitSmoothie()
    {
        PointsCalculator2.Core.CalculationHelper helper = new PointsCalculator2.Core.CalculationHelper();

        int actual = helper.CalculatePoints(1, 25, 4, 6, false);
        int expect = 3;
        Assert.AreEqual(expect, actual);
    }

快速的答案是,如果您需要测试与UI相关的类,那么您需要使用这种“单元测试”。但是,如果您有要测试的逻辑,请将其提取到一个可移植库(PCL)中,并使用普通的旧单元测试框架对其进行独立测试

既然可移植类库——在Visual Studio中现在称为“类库(遗留可移植)”——是“遗留的”,我想这个问题的答案已经略有改变

如果您想为UWP应用程序的非UI相关逻辑编写单元测试,请将其拉入.NET标准类库。UWP应用程序可以引用.NET标准2.0类库而不会出现问题

要实际测试类库(.NET标准),您需要创建NUnit/xUnit/MSTest项目(.NET核心),并添加对类库(.NET标准)的引用


今天,当我的解决方案生效后,我就写了这篇文章

要澄清,请转到参考>右键单击>添加参考…>扩展并添加Microsoft.VisualStudio.QualityTools.UnitTestFramework参考。然后与[TestClass]和[TestMethod]属性一起正常使用。