C#vstest.console.exe需要太多时间来运行单元测试

时间:2018-11-26 20:55:40

标签: c# unit-testing mstest vstest vstest.console.exe

我有一个用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?因为我的构建是增量的 我想减少运行这些单元测试的时间,我该怎么做? 谢谢

0 个答案:

没有答案