0

我的一项测试间歇性地失败了。我现在想经常执行测试。

我写了一个小批处理文件

:loop
mstest /testcontainer:"path/test.dll" /test:"mytest"
set /a COUNT=%COUNT%+1
if %COUNT GTR %MAX% goto end
goto loop

虽然这很好用,但输出没有意义或没有意义。假设我运行这个测试 100 次我得到 100 次文本说

Loading ... 
Starting execution ...
Results
Passed/Failed 1
--------
Total 1

并且将创建 100 个 .trx 文件...

我真正想要的是有这样的输出

Passed 97
Failed 3
--------
Total 100

并且只有一个 .trx 文件。

我不知何故怀疑是否有可能在一次测试运行中多次运行测试,因为我没有在mstest /help输出中找到任何参数。

有没有办法创建一个尽可能接近给定请求的输出?

4

1 回答 1

0
setlocal enabledelayedexpansion
set passed=0
set failed=0
for /l %%x in (1,1,%max%) do (
  mstest /testcontainer:"path/test.dll" /test:"mytest"
  if !errorlevel!==0 (
    set /a passed=passed+1
  ) else (
    set /a failed=failed+1
  )
)
echo Passed %passed% > %~n1.trx
echo Failed %failed% >> %~n1.trx
echo --------- >> %~n1.trx
echo Total %Max% >> %~n1.trx
endlocal
于 2012-09-04T06:36:45.580 回答