use*_*851 3 c# unit-testing xunit.net visual-studio-2015 uwp
我已经设法在VS2015上创建一个xUnit项目来对UWP应用进行单元测试.这里有关于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) ==========
Run Code Online (Sandbox Code Playgroud)
我理解引用的项目(将进行单元测试)导致a user callback threw an exception但我没有看到调试此错误的明显方法.执行模式看起来不像可以使用断点检查的普通调试.
有谁知道如何深入研究并找出导致a user callback threw an exception错误的原因?要测试的应用程序项目没有错误,并且可以自行运行.
好的,做了一些研究和自学,现在我可以回答我自己的问题了.
最重要的事实:
您不能单元测试UWP项目,只能测试类库(此时).
以上是Jerry Nixon 的引用(见链接页面末尾).所以,这说明了一切,但不知道这个重要的事实无疑会让你对我进行疯狂的追逐.
上述意味着,如果您还没有完成,则需要将应用项目拆分为UI部分(视图和其他UI相关部分),其余部分拆分为非UI库项目(包括模型,数据访问)方法等); 非UI库项目是单元测试的候选项目.幸运的是,使用我的应用程序很容易实现这一点,现在我可以通过引用测试项目中的类库部分来单元测试应用程序中最关键的部分.对未来也有启发意义.
因此,上述错误是由于引用了一个无法在此时测试的UI负载UWP项目.