在Visual Studio 2015中测试Windows Universal类库(.NET 4.6)时," red-> green->重构"周期很长。我的测试项目只是标准的MSTest"单元测试应用程序"项目。即使在全新解决方案,全新主题和测试项目以及基本int Add(int n1, int n2)
方法的最简单场景中,它也需要大约8-15秒。这是点击"运行测试"的时间(在进行小代码更改后)。直到通过/失败显示。
在我的机器上(Win 10 pro)进行相同的实验但使用基于WPF的解决方案产生大约1-2秒。
在UWP场景中,实际测试时间本身列为79 ms。其余的时间是编译和部署单元测试应用程序容器。
有没有办法用UWP显着加速TDD?
答案 0 :(得分:32)
TDD周期花费这么长时间的原因是因为所有UWP代码都必须在AppContainer中运行,这需要包装和部署很慢。
解决这个问题的方法是将尽可能多的代码分离到不需要在AppContainer中运行的不同项目中,然后测试该项目。
解决方案是为您的应用程序逻辑使用可移植类库,而不是UWP类库。您将在新项目对话框中找到可移植类库:
默认设置应该有效:
然后,您需要将UWP中的引用添加到可移植库中,以便您可以使用它。要测试可移植库,请使用常规的非UWP单元测试项目:
注意 - 为了完成这项工作,您需要将单元测试项目的目标框架从4.5.2(默认值)更改为4.6。
从常规单元测试项目运行的任何单元测试都将尽可能快地运行,因为它不需要在AppContainer中运行。我测试了这个,内循环速度很快。希望有所帮助!