nunit-console
ソリューションのすべてのテストを実行するために使用します。
これは私がしました:
c:\some\path>nunit-console-x86.exe MySolution.sln
NUnit-Console version 2.6.2.12296
Copyright (C) 2002-2012 Charlie Poole.
Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov.
Copyright (C) 2000-2002 Philip Craig.
All Rights Reserved.
Runtime Environment -
OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1
CLR Version: 2.0.50727.5466 ( Net 3.5 )
ProcessModel: Default DomainUsage: Default
Execution Runtime: net-3.5
Could not load file or assembly 'MyNamespace.Administration, Version=0.0.0.1, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.
だから、私は試してみるnunit-x86.exe
ことにしFile > Open Project > MySolution.sln
ました。
---------------------------
NUnit
---------------------------
Test load failed!
System.IO.FileNotFoundException : Could not load file or assembly
'MyNamespace.Administration, Version=0.0.0.1, Culture=neutral,
PublicKeyToken=null' or one of its dependencies. The system cannot
find the file specified.
For further information, use the Exception Details menu item.
---------------------------
OK
---------------------------
何が起きていて、どうすれば修正できますか? (MySolution.nunit ファイルを維持する必要はありません)
詳しくは
MyNamespace.Administration
は、テストを含む dll の 1 つでもありません。つまり、nunit は、実行するテストを探すためにそれを読み込もうとして失敗します。これを知って、nunit-x86.exe
(MySolution.nunit) によって作成されたファイルを編集し、テストのないすべての dll を削除しました。案の定、テストは (GUI とコンソールの両方で) 機能します。これは、さらに別の構成ファイルを保持する必要があることを意味するため、私には受け入れられません。.sln ファイルをサポートする Nunit は、これを回避するはずでした。- テストは TestDriven.Net を使用して正常に実行されます (ただし、実際には nunit-console を使用してテストを実行する必要があります)
この回答を見ましたが、フュージョン ログ ビューアーの内容が理解できません。そのログを投稿すると役に立ちますか?アセンブリ バインディング ログ ビューアーには、作成中の 3 つのファイルが一覧表示されます。- nunit-agent-x86.exe、これは nunit ディレクトリ内を見つけようとしているようです
MyNamespace.Administration.dll/EXE
- Tests_24398275 x2 - 1 つはプロジェクト フォルダーで nunit.core を探し、もう 1 つはプロジェクト フォルダー内で unit.core.interfaces を探します。これら 2 つは、手動で編集した .nunit プロジェクトにも表示されるため、ほとんど注意を払いません)。
- nunit-agent-x86.exe、これは nunit ディレクトリ内を見つけようとしているようです
- (andreister のコメントによる) 問題は、作成方法ではなく、プロジェクト/アセンブリ自体にあるようです。.nunit プロジェクトを作成して追加しようとする
MyNamespace.Administration
と (「アセンブリの追加...」または「VS プロジェクトの追加...」を使用)、失敗します。 nunit-console-x86 somepath/bin/Debug/MyNamespace.Administration.dll
直接呼び出すと機能します。