繁体   English   中英

ReSharper 单元测试未在 bin 目录中运行

[英]ReSharper Unit Test not run in bin directory

序言

我知道,这个问题似乎在这里有答案:

遇到了几乎相同的问题,例如ReSharper 10 测试运行程序无法找到从外部文件引用的 AppSettings 但是这些答案指出,ReSharper 10.0.2 应该会解决这个问题

问题

我包含了一个带有自定义设置的custom.xml文件,我需要从我的单元测试中读取它们。 但是找不到我的文件。

我查看了流程运行的位置,并包含了这一行

var curdir = Directory.GetCurrentDirectory();

所以我发现, curdirC:\\\\Users\\\\MYUSER\\\\AppData\\\\Local\\\\JetBrains\\\\Installations\\\\ReSharperPlatformVs11_000

现在很明显我的文件找不到了。 谷歌搜索后,它发现了上面提到的问题。 但是这些解决方案都不适合我。

这些是我的设置:

ReSharper 设置

Visual Studio 配置

微软 Visual Studio Ultimate 2012

版本 11.0.61219.00 更新 5

微软 .NET 框架

版本 4.6.01038

安装版本:终极版

  • 架构和建模工具 04940-004-0038003-02857
  • Visual Studio 2012 团队资源管理器 04940-004-0038003-02857
  • 适用于 Visual Studio 2012 的 Microsoft 团队资源管理器
  • Visual Basic 2012 04940-004-0038003-02857
  • 微软 Visual Basic 2012
  • Visual C# 2012 04940-004-0038003-02857
  • 微软 Visual C# 2012
  • Visual C++ 2012 04940-004-0038003-02857
  • 微软 Visual C++ 2012
  • 视觉 F# 2012 04940-004-0038003-02857
  • Microsoft Visual F# 2012
  • Windows Phone SDK 8.0 - DEU 04940-004-0038003-02857
  • Windows Phone SDK 8.0 - DEU
  • ASP.NET 和 Web 工具 2012.3.41009
  • 生成单元测试 1.0
  • Git 源代码控制提供程序 1.0.0.0
  • JetBrains ReSharper Ultimate 10.0.2 内部版本 104.0.20151218.120627
  • 适用于 Windows Phone 6.2.923.0 的微软广告 SDK
  • 适用于 Windows Phone Build 6.2.923.0 的 Microsoft Advertising SDK
  • 微软 XNA 游戏工作室 4.0
  • 微软 XNA 游戏工作室 4.0
  • NuGet-Paket-Manager 2.8.60318.667
  • PreEmptive Analytics Visualizer 1.0
  • SQL Server 数据工具 11.1.20627.00
  • Microsoft SQL Server 数据工具
  • Git 扩展

您没有列出安装的任何 NUnit 版本,但是您标记了这个“nunit”,所以我将假设您正在使用它! 此外,我假设 NUnit >= 3.0 ... 否则请忽略这一点。 :-)

NUnit 3.0 停止更改当前目录。 无论如何,这样做对我们来说是一个坏主意,对于 3.0 来说,这是一个非常糟糕的主意,因为不同目录中的多个程序集可能同时运行。

因此,假设它仍然是 NUnit 问题,而不是使用相对路径,而是使用 TestContext.CurrentContext.TestDirectory 作为文件的位置。

试试这个:

Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);

帮助我解决此类问题的事情 - 我刚刚在 ReSharper 设置中关闭了 NUnit 2.x 支持(ReSharper -> 选项... -> 工具 -> 单元测试 -> NUnit)。

设置

在我的情况下,当我更改为此设置时已修复

我还关闭了 NUnit 2.x 支持,即使它显然与问题无关,它也解决了它(我有 ReSharper 2017.3.20180201.111630)

我们在测试中使用 TestCaseSource。 因此,在 Rider 版本 2021.1.3 中对我的修复是将 Build-->Unit Testing-->NUnit 更改为 Test Runner 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM