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

标签 c# .net mstest xunit xunit.net

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

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

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

最佳答案

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

要了解如何通过 JSON 配置 xUnit.net,请使用搜索引擎。

关于c# - 运行 xUnit.net 测试时的运行时文件夹结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52364247/

相关文章:

c# - 使用 NoSQL 数据库进行 ASP.NET Core 身份验证

.net - 数据库层设计问题

c# - StructureMap 无法识别 TheCallingAssembly

c# - 如何在单元测试 Web API 中使用匿名类型结果进行断言?

.net - Resharper 单元测试运行器找不到内容文件

c# - 瓦片引擎碰撞

c# - C#中wrapper的自动转换

C# 单元测试 - 模拟、 stub 或使用显式实现

c# - 在 .NET/C# 中解析 "multipart/form-data"

visual-studio - 你能建立自己的 MSTEST 数据源吗