ReSharper Unit Test not run in bin directory

徘徊边缘 提交于 2019-12-05 08:55:04

问题


Preamble

I know, that this question seems to have anwsers here:

  • Resharper runs UnitTest from different location
  • Resharper Unit Test Runner Can't Find Content Files

I have nearly the same problem like ReSharper 10 test runner failing to find AppSettings referenced from external file. But these answer stated, that the problem should be gone with ReSharper 10.0.2

Question

I included a custom.xml files with custom settings, and I need to read them from my unit test. But my file is not found.

I looked, where the process runs, and included this line

var curdir = Directory.GetCurrentDirectory();

So I found out, that curdir is C:\\Users\\MYUSER\\AppData\\Local\\JetBrains\\Installations\\ReSharperPlatformVs11_000

Now it is obvious that my file cannot be found. After googling it, it found the above mentioned questions. But none of these solutions works for me.

These are my settings:

Visual Studio Configuration

Microsoft Visual Studio Ultimate 2012

Version 11.0.61219.00 Update 5

Microsoft .NET Framework

Version 4.6.01038

Installierte Version: Ultimate

  • Architecture and Modeling Tools 04940-004-0038003-02857
  • Team Explorer für Visual Studio 2012 04940-004-0038003-02857
  • Microsoft Team Explorer für 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 and Web Tools 2012.3.41009
  • GenerateUnitTest 1.0
  • Git Source Control Provider 1.0.0.0
  • JetBrains ReSharper Ultimate 10.0.2 Build 104.0.20151218.120627
  • Microsoft Advertising SDK for Windows Phone 6.2.923.0
  • Microsoft Advertising SDK for Windows Phone 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 Data Tools 11.1.20627.00
  • Microsoft SQL Server Data Tools
  • Git Extensions

回答1:


You don't list any version of NUnit installed, but you tagged this 'nunit' so I'm going to make an assumption you are using it! Further, I'm assuming NUnit >= 3.0... ignore this if otherwise. :-)

NUnit 3.0 stopped changing current directory. It's a bad idea for us to do that anyway and it's a really bad idea with 3.0, when multiple assemblies in differing directories may be running at the same time.

So, assuming still it's an NUnit problem, instead of using a relative path, use TestContext.CurrentContext.TestDirectory as the location of your file.




回答2:


try this:

Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);



回答3:


The thing that helped me with such issue - I just turned off NUnit 2.x support in ReSharper settings (ReSharper -> Options... -> Tools -> Unit Testing -> NUnit).




回答4:


I also turned off NUnit 2.x support and even if it has obviously nothing to do with the problem, it solved it (I have ReSharper 2017.3.20180201.111630)



来源:https://stackoverflow.com/questions/36222532/resharper-unit-test-not-run-in-bin-directory

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!