.net Resharper单元测试运行器可以';找不到内容文件

.net Resharper单元测试运行器可以';找不到内容文件,.net,unit-testing,resharper,mstest,.net,Unit Testing,Resharper,Mstest,我有一些测试依赖于我标记为“内容”和“总是复制”的一些文件。我使用DeploymentItem属性来确保在VS外部运行mstest时将它们复制到输出目录。但是,在VS内部使用Resharper测试运行程序时,这些文件永远不会复制到执行它的目录。有人知道如何解决这个问题吗?我们通过将测试文件标记为嵌入式资源来解决这个问题,然后使用它并将其写入预期位置。禁用正在测试的单元测试>卷影副本程序集Resharper选项为我解决了这个问题。我也曾在基于NUnit的测试中遇到过困难,其中在测试项目中有我希望作

我有一些测试依赖于我标记为“内容”和“总是复制”的一些文件。我使用DeploymentItem属性来确保在VS外部运行mstest时将它们复制到输出目录。但是,在VS内部使用Resharper测试运行程序时,这些文件永远不会复制到执行它的目录。有人知道如何解决这个问题吗?

我们通过将测试文件标记为嵌入式资源来解决这个问题,然后使用它并将其写入预期位置。

禁用正在测试的
单元测试>卷影副本程序集
Resharper选项为我解决了这个问题。

我也曾在基于NUnit的测试中遇到过困难,其中在测试项目中有我希望作为测试的一部分读入的文件

通过NCrunch运行可以正常工作,但是使用Resharper时,它无法找到文件,因为它使用的是另一个位置(例如C:\Users\myuser\AppData\Local\JetBrains\Installations\ReSharperPlatformVs15\u f6172a1d\u 000)

我把头发撕下来后,终于找到了解决办法。而不是使用

Environment.CurrentDirectory

NUnit中有一个内置属性:

TestContext.CurrentContext.TestDirectory
现在,NCrunch、ReSharper和内置Visual Studio测试资源管理器之间的一切都是一致的!(提醒:您仍然需要设置“构建操作”=“内容”并复制到输出目录”=“始终复制”)


希望在其他测试库中也有类似的方法。

我们不想嵌入资源,所以对我们来说,这是一个更好的解决方案/答案。+1这可能是处理依赖于外部文件的测试的最佳和最健壮的方法。我已经放弃了部署项,即使在VS2012中,似乎使用ReSharper作为测试工具t runner DeploymentItems仍然不可预测。链接已断开。2015年将出现此问题!JetBrains的节目真的很糟糕。他们的测试基础设施变得有点脆弱。我认为他们的测试运行程序应该足够智能,可以将内容文件复制到测试运行程序工作目录。
TestContext.CurrentContext.TestDirectory