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

这是这个问题的后续行动。 我按照这里描述的步骤进行操作,样本测试按预期工作。 这是我第一次使用这个工作样本,但是等待真正的工作设置,这是我遇到麻烦的地方。

作为测试我的应用程序的下一步,我使用“添加引用…”将我的UWP应用程序项目添加到xUnit Test项目中。 现在,在我引用我的项目之后,当我运行测试时(在测试资源管理器窗格VS2015中全部运行),我收到以下错误:

Error Payload contains two or more files with the same destination path 'Assets\SplashScreen.scale-200.png'. Source files: ...\Projects\Sample\SampleUnitTest\Assets\SplashScreen.scale-200.png ...\Projects\Sample\Sample\Assets\SplashScreen.scale-200.png SampleUnitTest

还有两个错误,正如上面所述,但是指的是Square150x150Logo.scale-200.pngSquare44x44Logo.targetsize-24_altform-unplated.png图像文件。

我能理解这些错误意味着什么; 正在测试的应用程序和测试项目都生成目标为相同输出的可视资源(闪屏图像,徽标,任务栏图标等)但这些是注册应用程序并运行(在本地计算机上运行)所必需的我的情况)。 我从来没有遇到过这样一个有争议的问题,即输出相同视觉资源的两个项目,希望有人知道如何解决这个问题。 如果我将项目更改为Class项目,则unit testing不起作用,因此这不是一个选项。

您如何处理xUnit测试项目和正在测试的项目之间的争议情况(可视化资源)?

好的,我想出了如何解决驻留在Assets文件夹中的可视资源之间的冲突,但这会导致xUnit的一种新问题(这将是我的后续问题 )。

  • 对于xUnit项目,将Assets文件夹重命名为,例如, Images (或您认为更好的替代名称)。
  • 指向xUnit项目下的Package.appxmanifest文件,并将其作为代码文件打开。 为此,请选择Package.appxmanifest文件并按F7,或右键单击该文件并选择“ 查看代码”上下文菜单命令。
  • 在代码文件中,将文件夹名称Assets with Images或您选择用于重命名Assets文件夹的任何内容替换。 保存。

现在测试项目将编译并运行,没有可视资源输出冲突。 但是关于xUnit,我们将遇到另一个问题,如下一个问题所述 。