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