web-dev-qa-db-ja.com

ReSharperユニットテストがbinディレクトリで実行されない

プリアンブル

この質問には、ここにアンサーがあるようです。

ReSharper 10テストランナーが外部ファイル から参照されているAppSettingsを見つけられないなど、ほぼ同じ問題があります。しかし、これらの答えは、ReSharper 10.0.2で問題を解決すべきだと述べています。

質問

custom.xmlカスタム設定のファイル。ユニットテストからそれらを読み取る必要があります。しかし、私のファイルは見つかりません。

私は、プロセスが実行される場所を見て、この行を含めました

var curdir = Directory.GetCurrentDirectory();

curdirC:\\Users\\MYUSER\\AppData\\Local\\JetBrains\\Installations\\ReSharperPlatformVs11_000

これで、ファイルが見つからないことは明らかです。グーグルで調べたところ、上記の質問が見つかりました。しかし、これらの解決策はどれも私にとってはうまくいきません。

これらは私の設定です:

ReSharper Settings

Visual Studioの構成

Microsoft Visual Studio Ultimate 2012

バージョン11.0.61219.00 Update 5

Microsoft .NET Framework

バージョン4.6.01038

インストールバージョン:Ultimate

  • アーキテクチャおよびモデリングツール04940-004-0038003-02857
  • Visual Studio 2012用チームエクスプローラー04940-004-0038003-02857
  • Visual Studio 2012用Microsoft Team Explorer
  • 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ビルド6.2.923.0用のMicrosoft Advertising SDK
  • 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拡張
27
Rico-E

インストールされているNUnitのバージョンはリストされていませんが、この「nunit」にタグを付けているので、使用していると仮定します。さらに、私はNUnit> = 3.0と仮定しています...それ以外の場合はこれを無視します。 :-)

NUnit 3.0は現在のディレクトリの変更を停止しました。とにかくそれを行うのは悪い考えであり、3.0では異なるディレクトリの複数のアセンブリが同時に実行される可能性がある場合、本当にという悪い考えです。

したがって、相対パスを使用する代わりに、まだNUnitの問題であると仮定して、ファイルの場所としてTestContext.CurrentContext.TestDirectoryを使用します。

51
Charlie

これを試して:

Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
8
Ahmad Mousavi

そのような問題で私を助けたもの-ReSharper設定でNUnit 2.xサポートをオフにしました(ReSharper->オプション...->ツール->ユニットテスト-> NUnit)。

2
Aviw

また、NUnit 2.xのサポートをオフにし、明らかに問題とは関係ない場合でも解決しました(ReSharper 2017.3.20180201.111630があります)

0
chrdela