02 - Code Coverage - eclEmma and JaCoCo
This tutorial describes how to write a smart batch script which capable of identifying class paths, source paths automatically and generate Code Coverage Report.
Source Code is avaiable in bellow :-
SETLOCAL EnableDelayedExpansion ENABLEEXTENSIONS
::ENABLEEXTENSIONS - Ensure command extensions are enabled
::SETLOCAL - Ensure this script won't rewrite any global variable, Ensure localization of all variables going to be declared
::EnableDelayedExpansion - Expand variables at execution time / allow to append
@echo off
cls
echo -------------------------------------------------------
echo ---- C O D E C O V E R A G E A U T O M A T I O N ----
echo -------------------------------------------------------
echo.
set /P info="Do You Want to Enable Print Process Info (Y/N) : "
echo.
echo.
set /p testName="Please Enter Fully Qualified Name of the Test as folder path if package is declared (eg: com/thath/test/TestName) : "
echo.
echo =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
echo.
echo --------------------------------------
echo --- AUTO CLASS PATH SEARCHING STARTED ---
echo --------------------------------------
echo.
::Find class path of all existing .class files recursively
:: /B Bare format (no heading, file sizes or summary).
:: /S include all subfolders.
:: %%F - variable in for loop for storing file path.
:: ~p - path without drive name / ~d - drive name only / ~n - file name only
:: classPATH - variable for future uses. we concatinate values to this variable.
:: !classPATH! - concept called delayed expansion. only if we call our variable in this way for concatinating, it will concat correctly
FOR /F %%F IN ('DIR /B /S "*.class"') DO (SET classPATH=!classPATH!%%~pF;
:: /I - case insensitive, /A - arythmatic comparision
if /I %info% == Y echo %%~pF
if /I %info% == N echo You have disabled Print Process Info...
SET /a countclass+=1)
echo.
if /I %info% == Y echo --- file count : %countclass%
if /I %info% == N echo You have disabled Print Process Info...
echo.
echo --- AUTO CLASS PATH SEARCH COMPLETED ---
echo.
echo =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
echo.
echo --------------------------------------------------
echo --- AUTO SOURCE(java) FILE PATH SEARCHING STARTED ---
echo --------------------------------------------------
echo.
::Find path of all existing .java files recursively
FOR /F %%F IN ('DIR /B /S "*.java"') DO (SET javaPATH=!javaPATH!%%~pF;
if /I %info% == Y echo %%~pF
if /I %info% == N echo You have disabled Print Process Info...
SET /a countjava+=1)
echo.
if /I %info% == Y echo --- file count : %countjava%
if /I %info% == N echo You have disabled Print Process Info...
echo.
echo --- AUTO SOURCE(java) FILE PATH SEARCH COMPLETED ---
echo.
echo =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
echo.
echo Generating jacoco.exec ...
java -javaagent:resource/jacoco/lib/jacocoagent.jar -cp resource/junit-4.10.jar;%classPATH%;resource/hamcrest-all-1.3.jar org.junit.runner.JUnitCore %testName%
echo.
echo Finished Generating JACOCO.EXEC ...
echo.
echo =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
echo.
echo Generating HTML Report
echo Prepare JaCoCoCLI Command ...
::Recursively add [ --classfiles classPath ] to commandExecutable variable and prepare command
set classPATHtemp=%classPATH%
:processClassPathPrepareCommand
for /f "tokens=1* delims=;" %%a in ("!classPATHtemp!") do (
set classPATHtemp=%%b
set commandExecutable=!commandExecutable! --classfiles %%a
)
if not "%classPATHtemp%" == "" goto :processClassPathPrepareCommand
::finally concat last part of the commandExecutable
set commandExecutable=java -jar resource/jacoco/lib/jacococli.jar report jacoco.exec %commandExecutable% --sourcefiles %javaPATH% --html report
::finally execute the commad to generate HTML Report
if /I %info% == Y echo Prepared Command : %commandExecutable%
if /I %info% == N echo You have disabled Print Process Info...
%commandExecutable%
echo.
echo Finished Generating HTML Based Report ...
PAUSE
EXIT
Что делает видео по-настоящему запоминающимся? Наверное, та самая атмосфера, которая заставляет забыть о времени. Когда вы заходите на RUVIDEO, чтобы посмотреть онлайн «02 - Code Coverage - eclEmma and JaCoCo», вы рассчитываете на нечто большее, чем просто загрузку плеера. И мы это понимаем. Контент такого уровня заслуживает того, чтобы его смотрели в HD 1080, без дрожания картинки и бесконечного буферизации.
Честно говоря, Rutube сегодня — это кладезь уникальных находок, которые часто теряются в общем шуме. Мы же вытаскиваем на поверхность самое интересное. Будь то динамичный экшн, глубокий разбор темы от любимого автора или просто уютное видео для настроения — всё это доступно здесь бесплатно и без лишних формальностей. Никаких «заполните анкету, чтобы продолжить». Только вы, ваш экран и качественный поток.
Если вас зацепило это видео, не забудьте взглянуть на похожие материалы в блоке справа. Мы откалибровали наши алгоритмы так, чтобы они подбирали контент не просто «по тегам», а по настроению и смыслу. Ведь в конечном итоге, онлайн-кинотеатр — это не склад файлов, а место, где каждый вечер можно найти свою историю. Приятного вам отдыха на RUVIDEO!
Видео взято из открытых источников Rutube. Если вы правообладатель, обратитесь к первоисточнику.