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

时间:2018-09-03 12:05:12

标签: c# unit-testing xunit

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

到目前为止,我已经尝试过:我尝试创建一个test.runsettings文件并设置以下内容:

<DeploymentEnabled>false</DeploymentEnabled>

如此处建议How to make unit test run in bin folder

无论代码仍在c:/users/myuserName/Local/Temp/{someGuid}/{someguid}/....etc中执行

问题:如何使其在/ bin目录中运行?

1 个答案:

答案 0 :(得分:1)

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

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

{ "shadowCopy": false }

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

属性>复制到输出目录

设置为“如果更新则复制”

这使它起作用