c # vstest.console.exe занимает слишком много времени для запуска модульных тестов - PullRequest
0 голосов
/ 26 ноября 2018

У меня большой проект, написанный на c # wpf, также у меня есть непрерывная интеграция в jenkins, которые создают проект и запускают модульный тест после каждого коммита.

Сборка является инкрементной.У меня проблема в том, что CI такой медленный из-за модульного теста

Время, необходимое для построения всего решения: 7 минут

Время, необходимое для запуска всего модульного теста (~ 350 модульного теста):10мин я использую этот скрипт:

for /D %%f in (*.Tests) do call :run_mstest %%f

echo exit flag is %EXIT_FLAG% 
echo ---------------------------------------------------------------------- 
if "%EXIT_FLAG%" == "0" (
    echo Unit Test ended OK. 
) else ( 
    set ERROR_CODE= 1
    echo Unit Test ended NOT OK! 
)
goto :end
:run_mstest


    Echo Running %1 
    set current_test=%1
    set current_test_result_name=%current_test:.=%Result
    set dll_name=%1\bin\%Configuration%\%1.dll
    if not exist "%dll_name%" (
        set dll_name=%1\bin\%1.dll
    )

    if not exist "%dll_name%" (
        goto :error1
    ) else (
        echo call vstest.console.exe" /PLATFORM:X64 %dll_name%
        call vstest.console.exe" /PLATFORM:X64 %dll_name%
        if ERRORLEVEL 1 (

            echo FAILED
        ) else (
             echo PASSED
        )
    )

есть ли способ запустить тестовую dll только для проектов, которые были изменены коммитом?потому что моя сборка пошаговая, я хочу сократить время выполнения этих модульных тестов, как я могу это сделать?Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...