我的一项测试是间歇性失败。我现在想经常执行测试。
我写了一个小批处理文件
: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
输出上找不到任何参数。
有没有办法尽可能接近给定的请求创建输出?
答案 0 :(得分: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