在Visual Studio 2015中为UWP加速单元测试的任何方法

BCA*_*BCA 26 tdd unit-testing visual-studio-2015 uwp

在Visual Studio 2015中测试Windows Universal类库(.NET 4.6)时,"red-> green-> refactor"循环所需的时间非常长.我的测试项目只是标准的MSTest"单元测试应用程序"项目.即使在全新解决方案,全新主题和测试项目以及基本int Add(int n1, int n2)方法的最简单场景中,它也需要大约8-15秒.这是单击"运行测试"直到显示通过/失败的时间(在进行小代码更改之后).

在我的机器上(Win 10 pro)进行相同的实验但使用基于WPF的解决方案产生大约1-2秒.

在UWP场景中,实际测试时间本身列为79 ms.其余的时间是编译和部署单元测试应用程序容器.

有没有办法用UWP显着加速TDD?

Mic*_*ude 32

TDD周期花费这么长时间的原因是因为所有UWP代码都必须在AppContainer中运行,这需要包装和部署很慢.

解决这个问题的方法是将尽可能多的代码分离到不需要在AppContainer中运行的不同项目,然后测试该项目.

解决方案是为您的应用程序逻辑而不是UWP类库使用可移植类库.您将在新项目对话框中找到可移植类库:

在此输入图像描述

默认设置应该有效:

在此输入图像描述

然后,您需要从UWP添加引用到可移植库,以便您可以使用它.要测试可移植库,请使用常规的非UWP单元测试项目:

在此输入图像描述

注意 - 要使这项工作,您需要将单元测试项目的目标框架从4.5.2(默认值)更改为4.6.

从常规单元测试项目运行的任何单元测试都将尽可能快地运行,因为它不需要在AppContainer中运行.我测试了这个,内循环速度很快.希望有所帮助!