質問

開発ボックスの特定の構成により、コードを「Documents and Settings」フォルダーに移動する必要がありました。私たちの以来 #?*&%$£ 「最愛の」Perforce VCS では、特定のシナリオで長いファイル パスで問題が発生する可能性があるため、コードを指すようにドライブ (V:) をマップしました。これは現在、1 つの例外を除いて通常は機能します。何らかの理由で、VS に統合された単体テスト ランナーはテストを実行できなくなりました。具体的には、TestDriven.NET と ReSharper テスト ランナーを使用してこれを試しました。どちらも同じ奇妙な動作を示します。エラーはなく、テストが実行されないだけです。

0 合格、0 失敗、0 スキップ

C:\Documents からソリューションを開くと...上記のランナーを使用してテストを実行すると、機能します。

211 合格、0 失敗、0 スキップ

私は最初に 64 ビットの問題を疑いました (Win7 Ultimate x64 を使用しています)。ただし、テスト アセンブリは「任意の CPU」に設定されており、両方のランナーがそのシナリオを処理し、適切な NUnit 実行可能ファイルにリダイレクトできます (...私の知る限り、間違っていたら訂正してください!)。C:\ と V:\ の両方から NUnit GUI を使用してテスト アセンブリを開くと、正常に動作します。

これは、ファイル パスがマップされたドライブを参照している場合に VS のランナーがテストを呼び出すことができないことに関係しているとしか考えられません...しかし、これはかなり奇妙に聞こえるので、以前にこの問題を目にしたことがある人もいるだろうと期待していましたが、アドバイスを与えることができます。

これを質問に要約すると、次のようになります。
おそらくソリューションがマップされたドライブ上にあることが原因で、VS 2010 の NUnit テスト ランナーでテストが実行されないという問題に遭遇した人はいますか?

Win 7 アルティメット x64
VS2010アルティメット
NUnit 2.5.8
テストドリブン.NET 3
リシャープ 5.1

役に立ちましたか?

解決 2

OK、ついにこれを回避する方法を見つけました。マップされた V の問題は実際には解決されませんでしたが、次のようになります。ドライブがネットワーク ドライブである場合、マップされたドライブを作成すると正常に動作します。 サブスト 指示。

ここでの違いは、V:エクスプローラーメニューの「ネットワークドライブのマップ」を使用してマッピングを作成したため、ドライブはネットワークの場所として扱われました(これは、 ネット 指示)。これにより、ネットワークとローカル ドライブ間でアセンブリが呼び出されるときに信頼性の問題が発生する可能性があります。ビルド中に次のようなエラーメッセージが表示される人もいます。

未処理の例外:System.Security.SecurityException:そのアセンブリは、部分的に信頼できる発信者を許可しません。

SUBST を使用して V:ドライブはローカル (= 信頼できる) 場所を指します。 これで、テストはすべて期待どおりに実行されます.

SUBST を使用してマップされたドライブを作成するには、次の手順を実行します。この例では、新しい仮想ドライブ「V」をユーザー (= [yourName]) フォルダー内のコードの場所にマップします。

C:>サブv:C:\ユーザー[あなたの名前]\コード

他のヒント

私はそれを試していません。しかし、単に思いました。あなたはTestDriven.Netだけでなく、NUnitのための実行可能ファイルのパスを確認することができます。あなたにもテストプロジェクトへの参照をチェックしたい場合があります。それは相対的または絶対的なのですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top