无法在 Bin 文件夹 c# 中进行 运行 单元测试

Unable to run unit tests in the Bin Folder c#

背景:我有一个使用 typeof(myClassFactory).Assembly.Location 的第 3 方 class 库 确定它的位置,然后使用它来加载另一个 dll。这是中断,因为第二个 dll 没有复制到临时位置。因此,我想从 /bin 文件夹中进行单元测试 运行。 我将 Vs2017 pro 与 xUnit 一起使用,并尝试了 VS 测试 运行ner 和 resharper,两者的行为相同。

到目前为止我尝试了什么:我尝试创建一个 test.runsettings 文件并设置以下内容:

<DeploymentEnabled>false</DeploymentEnabled>

这里建议How to make unit test run in bin folder

但是代码仍在 c:/users/myuserName/Local/Temp/{someGuid}/{someguid}/....etc

中执行

问题: 如何在/bin 目录中创建运行?

我发现了我的问题,它与 xUnit 不使用 .runsettings 文件有关。

为了解决这个问题,我添加了一个名为 xunit.runner.json 的新文件并添加了以下代码:

{ "shadowCopy": false }

我将其添加到解决方案的根目录,然后通过右键单击文件将其设置为复制到输出:

属性 > 复制到输出目录

设为'Copy if newer'

这使它起作用