2011-07-05 17 views
2

現在のプロジェクトでは、.Netアプリケーションで制御されたロボット化されたボックスを構築しています。私たちはかなりの数のハードウェアライブラリとインターフェイスをとり、夜間の回帰テストを実行するために、すべてのハードウェアが接続された統合サーバーをセットアップしました。すべてのテストは合格しますが、TFSはビルドを部分的に成功とマークします

セットアップ中のハードウェアライブラリのすべてがTFSとMSTestにうまく統合されているわけではありません。

我々は特定のlibrairyで私たちのビルドとテストを実行すると、我々が持っているいずれかのこれら2つの行動の1:

TFSに渡されたが、ビルドが部分的に成功した として示されているように、すべてのテストがmartkedさ
  • TFSにはテスト実行は表示されませんが、ログにはすべてのテストが成功したことが示され、ビルドは部分的に成功したものとしてマークされています。

ログを見ると、我々はテストがTFSサーバーに公開されているこれらの2行の後に見ることができ、 は「MSTestを例外を処理し、」 「MSTest.exeは、そのすべてではない示す0の終了コードを返しテストが合格 "

本当に困惑しているのは、コマンドラインからmstestを使って同じテストを実行しても、この問題は表示されないということです。 Futhermore、コマンドラインから実行し、MSTEST 戻り、すべてのテストに合格0と1の誤差が

があるので、私の質問は以下のとおりです。

  1. 成功に適切なMSTestをリターンコードは何/エラー
  2. ビジュアルスタジオのログのほかに、他の詳しいログ機能がありますか?
  3. 見た目の手がかりは?

追加情報:mstestの「NoIsolation」フラグを使用しているかどうかには違いがあります。そのフラグを使用すると、特定のテストが合格になりますが、他のテストは失敗します...我々はまだそれを調べています。

おかげ

EDIT:ログの関連部分: 30/30テスト(複数可)を通過

Summary 
------- 
Test Run Completed. 
Passed 30 
---------- 
Total 30 
Results file: C:\Builds\1\Galil Daily build\TestResults\D201364-W7$_D201364-W7 2011-07-05 10_23_33_Any CPU_Debug.trx 
Test Settings: Default Test Settings 
Waiting to publish... 
Publishing results of test run [email protected] 2011-07-05 10:23:33_Any CPU_Debug to http://mtlapp07:8080/tfs/DI_DEV... 
..Publish completed successfully. 
Final Property Values 
Category = Galil 
CommandLineArguments = /noisolation 
Flavor = 
MaxPriority = -1 
MinPriority = -1 
PathToResultsFilesRoot = C:\Builds\1\Galil Daily build\TestResults 
Platform = 
Publish = True 
SearchPathRoot = C:\Builds\1\Galil Daily build\Binaries 
TestConfigId = -1 
TestConfigName = 
TestContainers = System.Linq.OrderedEnumerable`2[System.String,System.String] 
TestLists = 
TestMetadata = 
TestNames = 
TestSettings = 
ToolPath = 
Version = -1 
Final Property Values 
Condition = False 
Final Property Values 
Condition = True 

00:00 
Handle MSTest Exception 
MSTest.exe returned an exit code of 0 indicating that not all tests passed. 

00:00 
If testException is NOT TestFailureException 
Initial Property Values 
Condition = False 
Final Property Values 
Condition = False 

編集2.0:

using System; 
using Microsoft.VisualStudio.TestTools.UnitTesting; 
using Galil; 

namespace TestProject1 
{ 
[TestClass] 
public class UnitTest1 
    { 
    [TestMethod] 
    public void TestMethod1() 
    { 
     Galil.Galil m_galil = new Galil.Galil(); 
     m_galil.address = "COM4 19200"; 
     string resp = m_galil.command("MTA=2.5;"); 
     Assert.AreEqual(":", resp); 
     try 
     { 
      m_galil.address = "OFFLINE"; 
     } 
     catch (Exception) 
     { 
     } 
    } 

    [TestMethod] 
    public void TestMethod2() 
    { 
     Galil.Galil m_galil = new Galil.Galil(); 
     m_galil.address = "COM4 19200"; 
     string resp = m_galil.command("MTA=2.0;"); 
     Assert.AreEqual(":", resp); 
     try 
     { 
      m_galil.address = "OFFLINE"; 
     } 
     catch (Exception) 
     { 
     } 
    } 
    } 
} 
+0

ログを投稿できますか? –

答えて

関連する問題