3

テストプロジェクトに含まれているテキストファイルを調べる単体テストがあります。ユーザーが生データ自体(他のシステム)にアクセスしているC#文字列の特殊文字を適切に複製できないため、このルートを使用する必要がありました。

単体テストは、アレンジ部分でファイルの内容を読み取り、その内容に基づいて動作し、計画どおりに機能していることを確認します。

ローカルでは、テストは問題なく実行されます。問題はありません。

TFS2010ビルドを実行しますが、ビルドサーバーでテストを実行するとテキストファイル自体が見つからないため、ビルドは毎回そのテストに失敗します。

私のファイルは現在、「アセット」と呼ばれるテストプロジェクト自体のディレクトリにあります。テキストファイルのプロパティは次のとおりです。

  • ビルドアクション:コンテンツ
  • 出力ディレクトリにコピー:常にコピー

テストコードは

    [TestMethod]
    public void Broken_First_Token_Ok_Second_Returns_Full_String()
    {
        string rawText = string.Empty;

        // load the broken translation
        using (StreamReader reader = new StreamReader(@"Assets\BrokenTranslation.txt")){
            rawText = reader.ReadToEnd();
        }

        string expected = rawText;

        string actual = [Some code that should return the proper values]

        Assert.AreEqual(expected, actual, "Failed to return proper match");

    }

私は何を逃しましたか?

4

2 に答える 2

0

1ビルドのサーバーにファイルをデプロイする必要があります。ファイルをソース管理に追加する必要があります。

ファイルをチェックインするだけです

2参照パスが正しいことを確認する必要があります:@ "Assets \ BrokenTranslation.txt

于 2012-08-17T15:27:19.293 に答える
0

DeploymentItem属性を使用して、テキストファイルをテストで確実に使用できるようにすることができます。このブログ投稿では、その使用方法と使用理由について説明しています:http: //luisfsgoncalves.wordpress.com/2011/05/31/unit-tests-with-dependencies-on-team-foundation-server/

于 2012-08-19T09:06:29.367 に答える