Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 在VisualStudio2015中,有没有加快UWP单元测试速度的方法_Unit Testing_Tdd_Visual Studio 2015_Uwp - Fatal编程技术网

Unit testing 在VisualStudio2015中,有没有加快UWP单元测试速度的方法

Unit testing 在VisualStudio2015中,有没有加快UWP单元测试速度的方法,unit-testing,tdd,visual-studio-2015,uwp,Unit Testing,Tdd,Visual Studio 2015,Uwp,在Visual Studio 2015中测试Windows通用类库(.NET 4.6)时,“红色->绿色->重构”周期所需的时间相当长。我的测试项目只是标准的MSTest“单元测试应用程序”项目。即使在最简单的场景中,一个全新的解决方案、全新的主题和测试项目,以及一个基本的intadd(intn1,intn2)方法,也需要8-15秒。这是从单击“运行测试”到显示通过/失败的时间(在进行小代码更改之后) 在我的机器(Win 10 pro)上进行相同的实验,但使用基于WPF的解决方案产生大约1-2秒

在Visual Studio 2015中测试Windows通用类库(.NET 4.6)时,“红色->绿色->重构”周期所需的时间相当长。我的测试项目只是标准的MSTest“单元测试应用程序”项目。即使在最简单的场景中,一个全新的解决方案、全新的主题和测试项目,以及一个基本的
intadd(intn1,intn2)
方法,也需要8-15秒。这是从单击“运行测试”到显示通过/失败的时间(在进行小代码更改之后)

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

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


有没有什么方法可以通过UWP显著加速TDD

TDD周期之所以需要如此长的时间,是因为所有UWP代码都必须在AppContainer中运行,这需要缓慢的打包和部署

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

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

默认设置应能正常工作:

然后需要将UWP中的引用添加到便携库中,以便使用它。要测试便携库,请使用常规的非UWP单元测试项目:

注意-为了实现这一点,您需要将单元测试项目的目标框架从4.5.2(默认)更改为4.6

从常规单元测试项目运行的任何单元测试都将尽可能快地运行,因为它不需要在AppContainer中运行。我对此进行了测试,内环速度非常好。希望有帮助