我有一个很好的测试项目。我正在尝试使用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
由于
答案 0 :(得分:0)
MSTest
没有失败。它执行测试很好。您的测试失败,错误由MStest
处理。所以,我认为你不会得到任何%errorlevel%。
答案 1 :(得分:0)
我刚刚确认Visual Studio 2010的mstest.exe实际上在运行测试时退出errorlevel 1,其中一些失败。当所有测试通过时,它返回errorlevel 0。
运行mstest后,您可以在批处理文件中使用以下行验证这一点:
echo %errorlevel%
pause
如果您的批处理文件被另一个批处理文件调用,并且您想要返回错误级别,则可以使用if not %errorlevel% == 0 exit 1
来快捷批处理文件。
否则,正如@Magoo所示,您可能在调用mstest.exe前面有一个不必要的echo
。