如何在单次测试中多次执行单元测试?

时间:2012-09-03 12:02:28

标签: unit-testing batch-file mstest

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

我写了一个小批处理文件

: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输出上找不到任何参数。

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

1 个答案:

答案 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