运行xUnit.net测试时的运行时文件夹结构

问题描述 投票:1回答:1

我正在开发一个运行在.net 4.6.1上的C#Web应用程序,它假设某些dll与执行程序集位于同一个文件夹中,并尝试使用MEF从这些dll导入某些类型。当应用程序运行并且所有必需的dll都在bin文件夹中时,这很好用,但是在运行xUnit测试时我遇到了问题,这些测试最终会运行上面提到的假设的代码。我正在使用Visual Studio 2017运行测试。

我遇到的问题是,当我运行xUnit测试时,它会创建一个临时文件夹,其中包含我在单元测试项目中的每个引用的子文件夹。在每个子文件夹中都有单个引用的.dll和.pdb文件以及__AssemblyInfo __。ini文件。显然,测试因FileNotFoundException崩溃,因为想要使用MEF导入某些类型的代码无法在与执行程序集位置相同的文件夹中找到dll。

有没有办法告诉xUnit将单元测试项目的所有引用放在一个文件夹中(比如bin文件夹?)并使用该文件夹运行测试?或者这可能是Visual Studio 2017中的一个设置?

c# .net mstest xunit xunit.net
1个回答
0
投票

您可以简单地禁用shadowCopy,以便所有执行都使用您的输出文件夹。

如何通过JSON配置xUnit.net可以在,

https://xunit.github.io/docs/configuring-with-json

© www.soinside.com 2019 - 2024. All rights reserved.