ReSharperunit testing不在bin目录中运行
前言
我知道,这个问题似乎在这里有一些问题:
- Resharper从不同的位置运行UnitTest
- Resharperunit testing运行器无法查找内容文件
我有几乎相同的问题,如ReSharper 10测试运行器未能找到从外部文件引用的AppSettings 。 但是这些答案表明,问题应该与ReSharper 10.0.2一起消失
题
我在自定义设置中包含了一个custom.xml
文件,我需要从unit testing中读取它们。 但是找不到我的档案。
我查看过程运行的位置,并包含此行
var curdir = Directory.GetCurrentDirectory();
所以我发现, curdir
是C:\\Users\\MYUSER\\AppData\\Local\\JetBrains\\Installations\\ReSharperPlatformVs11_000
现在显然无法找到我的文件。 谷歌搜索后,它找到了上述问题。 但这些解决方案都不适合我。
这些是我的设置:
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)