2
現在のプロジェクトでは、.Netアプリケーションで制御されたロボット化されたボックスを構築しています。私たちはかなりの数のハードウェアライブラリとインターフェイスをとり、夜間の回帰テストを実行するために、すべてのハードウェアが接続された統合サーバーをセットアップしました。すべてのテストは合格しますが、TFSはビルドを部分的に成功とマークします
セットアップ中のハードウェアライブラリのすべてがTFSとMSTestにうまく統合されているわけではありません。
我々は特定のlibrairyで私たちのビルドとテストを実行すると、我々が持っているいずれかのこれら2つの行動の1:
TFSに渡されたが、ビルドが部分的に成功した として示されているように、すべてのテストがmartkedさ- 。
- TFSにはテスト実行は表示されませんが、ログにはすべてのテストが成功したことが示され、ビルドは部分的に成功したものとしてマークされています。
ログを見ると、我々はテストがTFSサーバーに公開されているこれらの2行の後に見ることができ、 は「MSTestを例外を処理し、」 「MSTest.exeは、そのすべてではない示す0の終了コードを返しテストが合格 "
本当に困惑しているのは、コマンドラインからmstestを使って同じテストを実行しても、この問題は表示されないということです。 Futhermore、コマンドラインから実行し、MSTEST 戻り、すべてのテストに合格0と1の誤差が
があるので、私の質問は以下のとおりです。
- 成功に適切なMSTestをリターンコードは何/エラー
- ビジュアルスタジオのログのほかに、他の詳しいログ機能がありますか?
- 見た目の手がかりは?
追加情報: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)
{
}
}
}
}
ログを投稿できますか? –