ReSharperunit testing不在bin目录中运行

前言

我知道,这个问题似乎在这里有一些问题:

  • Resharper从不同的位置运行UnitTest
  • Resharperunit testing运行器无法查找内容文件

我有几乎相同的问题,如ReSharper 10测试运行器未能找到从外部文件引用的AppSettings 。 但是这些答案表明,问题应该与ReSharper 10.0.2一起消失

我在自定义设置中包含了一个custom.xml文件,我需要从unit testing中读取它们。 但是找不到我的档案。

我查看过程运行的位置,并包含此行

 var curdir = Directory.GetCurrentDirectory(); 

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

现在显然无法找到我的文件。 谷歌搜索后,它找到了上述问题。 但这些解决方案都不适合我。

这些是我的设置:

ReSharper设置

Visual Studio配置

Microsoft Visual Studio Ultimate 2012

版本11.0.61219.00更新5

Microsoft .NET Framework

版本4.6.01038

Installierte版本:终极版

  • 架构和建模工具04940-004-0038003-02857
  • TeamExplorerfürVisualStudio 2012 04940-004-0038003-02857
  • Microsoft Team Explorer,用于Visual Studio 2012
  • Visual Basic 2012 04940-004-0038003-02857
  • Microsoft Visual Basic 2012
  • Visual C#2012 04940-004-0038003-02857
  • Microsoft Visual C#2012
  • Visual C ++ 2012 04940-004-0038003-02857
  • Microsoft Visual C ++ 2012
  • Visual 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
  • GenerateUnitTest 1.0
  • Git源代码控制提供程序1.0.0.0
  • JetBrains ReSharper Ultimate 10.0.2 Build 104.0.20151218.120627
  • 适用于Windows Phone 6.2.923.0的Microsoft Advertising SDK
  • 适用于Windows Phone的Microsoft Advertising SDK Build 6.2.923.0
  • Microsoft XNA Game Studio 4.0
  • Microsoft XNA Game Studio 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 – >选项… – >工具 – >unit testing – > NUnit)。

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