0

正常にビルドされるテスト プロジェクトがあります。mstest を使用してテストを実行しようとしています。これが私が実行しているコマンドです:

指示:

echo mstest.exe /testcontainer:SecurityLogging.Tests\Logging.Tests.dll /resultsfile:%TEST_LOG_ROOT%\Execute_%TestListNode%_1.trx /detail:Owner /detail:Description /nologo /testsettings:Logging.Tests\Local.testsettings /category:"^!E2E&^!Stress&^!Perf"

私のテストは失敗しました。次に、エラーレベルを確認します。それはまだ0です。

if %errorlevel%==0 (
   continue;
)

そしてそれは常に続く。

私はVisual Studio 2010を使用しています。掘り始めたところ、次のことがわかりました。

http://www.mail-archive.com/ccnet-user@googlegroups.com/msg03027.html

ありがとう

4

2 に答える 2

0

MSTest失敗していません。テストを正常に実行します。テストは失敗し、エラーはによって処理されMStestます。したがって、%errorlevel%は取得されないと思います。

于 2013-03-07T13:29:44.340 に答える
0

Visual Studio 2010 の mstest.exe が実際にテストを実行するとエラーレベル 1 で終了し、一部のテストが失敗することを確認しました。すべてのテストに合格すると、エラーレベル 0 が返されます。

mstest を実行した後、バッチ ファイルの次の行でこれを確認できます。

echo %errorlevel%
pause

バッチ ファイルが別のバッチ ファイルによって呼び出されていて、エラーレベルを戻したい場合は、 を使用if not %errorlevel% == 0 exit 1してバッチ ファイルをショートカットできます。

そうしないと、@Magoo が示すように、echomstest.exe への呼び出しの前に不要なものがある可能性があります。

于 2014-12-06T00:52:42.107 に答える