Caso alguém (além de mim) não saiba como fazer isso, eu postarei meu script PowerShell que faz uma execução cronometrada de uma "rodada de trabalho" usando o Visual Studio.
- O TFS cria um espaço de trabalho temporário
- O TFS obtém o diretório de soluções mais recente
- TFS verifica o arquivo e desfaz o arquivo com check-out
- reconstruir solução (msbuild)
- executa testes de unidade a partir da dll especificada (mstest)
- excluir arquivos e espaço de trabalho
- grava a saída do trabalho para consolar
- escreva o número de segundos gastos executando as 5 primeiras etapas
Felicidades, user30715
## Change to fit your environment ## $BASEDIR="C:\temp\test\" # Where to store the temporary files $TFS_SERVER="http://mytfs.srv:8080" # TFS server $TFS_PROJECT_DIR="$/Path/To/My/Solution/Directory" # Path to solution dir on TFS $SLNFILE="My.App.sln" # Path to solution file (relative to TFS_PROJECT_DIR) $UNIT_TEST_DLL="Relative/Path/To/My.App.Test.dll" # Path to unit test dll (relative) #################################### $TSTAMP=get-date -Format yyyy-MM-dd_HH-mm-ss $TESTNAME="tfstest." + $TSTAMP $WORKDIR=$BASEDIR + $TESTNAME $LOG=$BASEDIR + $TESTNAME + ".log" function Log() { $input | write-host } function DoWork() { write-host "Getting source from TFS" mkdir $WORKDIR pushd $WORKDIR tf workspace /new /noprompt /server:$TFS_SERVER $TESTNAME tf workfold /map /server:$TFS_SERVER /workspace:$TESTNAME $TFS_PROJECT_DIR $WORKDIR tf get /recursive /force /noprompt $TFS_PROJECT_DIR write-host "Checking out file $SLNFILE" tf checkout $SLNFILE write-host "Undoing checkout" tf undo /noprompt $SLNFILE write-host "Starting build process" msbuild $SLNFILE /target:rebuild write-host "Running tests" mstest /testcontainer:"$UNIT_TEST_DLL" popd } function CleanUp() { write-host "Cleaning up mess" pushd $BASEDIR tf workfold /unmap /workspace:$TESTNAME $WORKDIR tf workspace /delete /noprompt $TESTNAME rmdir -recurse -force $WORKDIR popd } $VSTIME=(measure-command { DoWork 2>&1 | Log }).TotalSeconds CleanUp write-host "Spent $VSTIME seconds doing work"