12

コンソール アプリケーションと単体テストを備えたソリューションがあります。

var target = new Validator();
var targetFile = @"C:\Folder\SubFolder\AnotherSubFolder\Development\DEV\src\UnitTest\TargetFolder\file.xml";

bool actual = target.Validate(targetFile);
Assert.AreEqual(true, actual);

Validator はコンソール アプリケーション プロジェクトにありますが、私の file.xml は単体テスト プロジェクト内のフォルダーにあります。

この単体テストはパスしていますが、これを tfs またはビルド サーバーにチェックインしたときに、targetFile を見つけられることを確認したいと思います。

targetFile のパスを変更するにはどうすればよいですか?

前もって感謝します!

4

5 に答える 5

6

以下のようにフォルダを参照できます。

"..\..\TargetFolder\file.xml"
于 2013-07-05T04:22:39.757 に答える
3

私は自分の問題の解決策を見つけました。私はこれを使用しました:

"..\..\..\TestFileFolder\myFile.xml"
于 2013-07-05T07:01:52.127 に答える
2

MS Unit Test の最も簡単な方法は[DeploymentItem]、単体テスト クラスのテストで a を使用することです。詳細については、 http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.deploymentitemattribute (v=vs.100).aspx を参照してください。また、VS 2008 単体テストでデータ ファイルを使用するにはどうすればよいですか?

于 2013-07-07T20:42:15.427 に答える
0

の場所はValidator関係ありません。相対パスは、テスト アプリケーションが実行されているディレクトリに対して相対的である必要があるため、targetFileそこからの相対パスに設定するだけです。次に、ビルド サーバー上で開発マシンと同じ相対的な場所からテストを実行していることを確認します。

おまけのヒント: 使うAssert.IsTrue(actual);

于 2013-07-05T04:07:59.797 に答える