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

时间:2016-01-07 14:21:29

标签: c# visual-studio-2015 uwp dnx xunit.net

这是this question的后续行动。我按照here所述的步骤进行操作,样本测试按预期工作。这是我第一次使用这个工作样本,但是等待我遇到麻烦的实际工作设置。

作为测试我的应用程序的下一步,我使用“Add Reference ...”将我的UWP应用程序项目添加到xUnit Test项目中。现在,在我引用我的项目之后,当我运行测试时(在Test Explorer窗格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项目,则单元测试不起作用,因此这不是一个选项。

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

1 个答案:

答案 0 :(得分:4)

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

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

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