我需要UnitTest Class Library (Universal Windows)
,但是从“添加新项目”窗口,我只看到这个:
此项目使用App Container运行所有测试,它始终打开一个App。由于我不需要所有这些开销,我想知道是否有单元测试UWP库的方法。
答案 0 :(得分:5)
快速回答是,如果您需要测试与UI相关的类,您需要使用这种"单元测试"。但是,如果您有要测试的逻辑 - 将其提取到可移植库(PCL)并使用普通的旧单元测试框架独立测试它。
答案 1 :(得分:1)
现在,可移植类库(在Visual Studio中现在称为“类库(可移植的传统)”)是“旧版”,我认为此问题的答案已略有改变。
如果要为UWP应用程序的非UI逻辑编写单元测试,请将其拉入.NET标准类库。 UWP应用程序可以毫无问题地引用.NET Standard 2.0类库。
要实际测试类库(.NET标准),您需要创建一个NUnit / xUnit / MSTest项目(.NET Core)并添加对类库(.NET Standard)的引用。
今天,一旦解决方案生效,我就为此写过a short blog post。
答案 2 :(得分:0)
向项目添加一个类库,并添加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);
}