2011-12-22 30 views
0

コード化されたUIを使用してテストを実行し、qian_machinenameのような名前のテスト結果ファイルを取得しました2011-12-21 14_26_10。私はファイルを読んでテストレポートを送ってほしい。私の質問は、テストを実行するたびにファイルの時刻を取得する方法です。コード化されたUIテスト結果ファイル

+0

あなたの手順についてもっと説明できますか。つまり、テストファイルの生成方法です。なぜファイルを選択してレポートを生成できる別のコードにファイルのファイル名として時刻選択を保存できないのですか? より明確な情報を提供してください。ありがとう – Zenwalker

+0

ファイルが作成されるとすぐにそれをしたいですか? –

+0

@zenwalker 申し訳ございませんが不明です。私のコード構造は次のようになります: [Test Mothod] public void test() {...} メソッドが呼び出されます。そしてテストは自動的にVS2010によって自動的に作成されたテスト結果ファイルを実行します。私はちょうど生成されたファイル名を取得する方法が欲しい、または私がファイルの名前を変更することができれば、それは素晴らしいでしょう。 – QianLi

答えて

1

TestContextあなたは 1. TESTDIR 2. TestDeploymentDir 3. TestResultsDirectoryを使用することができる3つのプロパティを持っています。

これらのプロパティを使用して、目的のフォルダに移動し、処理の結果ファイルを取得できます。

+0

ありがとう、これらのプロパティには必要な情報があります。しかし、私は試して、他の質問を見つける、私は[テストMothod]の外でこれらのプロパティを使用することはできません、エラーメッセージは、 "オブジェクト参照はオブジェクトのインスタンスに設定されていません"です。パブリック・ストリングresultFile = null; [試験方法] 公開空白T1() { int i = 1; Asser.AreEqual(i、1); resultFile = TestContext。TestResultsDirecroty; } } お手伝いできますか?ありがとう – QianLi

1

QianLi、

は、おそらくあなたは、テスト出力ファイル名で知られているプレフィックスを使用して適切な出力ファイルを取得することができます。あなたがスキームを命名するための領域が表示されます表示するプロンプトで>一般

- >(あなたのアクティブ.testsettingsを選択) - Visual Studioで

はテスト - >編集設定のテストをナビゲートします。デフォルトでは、これはあなたの出力ファイルに "USER @ MACHINE DATE TIME"という名前を付けるように設定されています。ユーザーが定義したスキームを作成し、そのファイルを使用して "MyTestOuput"をプリフィックスとして保存し、後でコードを作成して、必要な場合はファイルの作成日時を調べて、正しい出力があることを確認できます。

Screenshot of Visual Studio 2010 TestSettings

1

使用のようなもの: "拡張子" ファイル名= testContext.ResultsDirectory + "\" + testContext.TestName.ToString()+

  1. テスト名は名前でなければなりませんtestMethodの "T1"のように。
  2. 拡張子には、任意の有効なファイルタイプを使用できます。 .xmlなど
0
[TestCleanup()] 
    public void MyTestCleanup() 
    { 
     string nomfichiersource = "UITestActionLog.html"; 
     string nomTest = TestContext.TestName.ToString(); 
     string sourcefile = System.IO.Path.Combine(TestContext.TestResultsDirectory, nomfichiersource); 
     string destfile = System.IO.Path.Combine(@"X:\Temp", nomTest + ".html"); 
     System.IO.File.Copy(sourcefile, destfile); 
    } 
関連する問題