在VS2015上使用xUnit测试UWP应用程序

我已经设法在VS2015上创建一个xUnit项目来对UWP应用进行unit testing。 这里有一个关于stackoverflow的问题的背景,它给出了这个问题的一些背景。

我可以编译并运行测试,但是当我引用要测试的项目时,会出现以下错误。

------ Run test started ------ Updating the layout... Checking whether required frameworks are installed... Registering the application to run from layout... Deployment complete (1857ms). Full package name: "8f4533e5-fec8-415b-94ab-6bce6b37374f_1.0.0.0_x86__5gyrq6psz227t" A user callback threw an exception. Check the exception stack and inner exception to determine the callback that failed. ========== Run test finished: 0 run (0:00:04.3378913) ========== 

我理解引用的项目(将进行unit testing)导致a user callback threw an exception但我没有看到调试此错误的明显方法。 执行模式看起来不像可以使用断点检查的普通调试。

有没有人知道如何深入了解导致a user callback threw an exception原因是什么导致a user callback threw an exception错误? 要测试的应用程序项目没有错误,并且可以自行运行。

好的,做了一些研究和自学,现在我可以回答我自己的问题了。

最重要的事实:

您不能unit testingUWP项目,只能测试类库(此时)。

以上是Jerry Nixon的引用 (见链接页面末尾)。 所以,这说明了一切,但不知道这个重要的事实无疑会让你对我进行疯狂的追逐。

上述意味着,如果您尚未完成,则需要将应用程序项目拆分为UI部分(视图和其他UI相关部分),其余部分拆分为非UI库项目(包括模型,数据访问)方法等); 非UI库项目是unit testing的候选项目。 幸运的是,使用我的应用程序很容易实现这一点,现在我可以通过引用测试项目中的类库部分来unit testing应用程序中最关键的部分。 对未来也有启发意义。

因此,上述错误是由于引用了一个无法在此时进行测试的UI负载UWP项目。