2009-10-01 10 views
7

ユニットテストの入力としてデータファイルが使用されています。これらのファイルはかなり大きく、単体テストが実行されるたびにそれらをコピーしたくありません。テストは展開せずに実行されます。だから私はちょうど私のソリューションの下にフォルダに入れて、...私のソリューション(またはテストプロジェクトのソースコード)のパスを取得する方法ユニットテストが実行されている?Visual Studioのユニットテスト - 外部ファイルへのアクセス方法?

答えて

0

あなたは使用することができます:あなたのテストで

Assembly.GetExecutingAssembly().Location 

をユニットテストを格納しているアセンブリのパスを取得します。

+0

これはユニットテストのバイナリファイルの場所を示しますが、ソリューションのルートへのパスはまだわかりません。 – skevar7

+2

この回答は間違っています。ユニットテスト中の 'Assembly.GetExecutingAssembly()。Location'は、一時的なテストフォルダを指しています。元のポスターはプロジェクトフォルダ内のファイルにアクセスする必要があります。 –

3

さまざまな方法(TD.NET、Visual Studio、R#など)でテストプロジェクトを実行できるため、テストを参照するためのパスが変更される可能性があります。

このため、私はテストに必要なファイルをテストアセンブリに埋め込み、そこから取り出します。

0

シンプルで、ファイルの場所を構成可能(テスト可能)にします。

次に、ユニットテストコードに設定するか、設定ファイルを設定します。

関連する問題