Zapnutí pokrytí kódu ze skriptu Ant

Chcete-li ověřit, že sestavovaný kód splňuje zadaná kritéria přijatelnosti pokrytí kódu, můžete zapnout pokrytí kódu ze skriptu Ant. Postupujte takto:

Výsledky pokrytí kódu můžete zobrazit v pracovním protředí.

Konfigurace skriptu Ant, pro zapnutí pokrytí kódu

Chcete-li konfigurovat skript Ant, aby zapnul pokrytí kódu, přidejte k vaší proměnné prostředí CLASSPATH následující:
<instalační_adresář>/plugins/com.ibm.rational.llc.engine_1.0.0.<číslo_verze>
a definujte novou úlohu v souboru sestavení. Např.:

<taskdef name="instrument" classname="com.ibm.rational.llc.engine.instrumentation.anttask.InstrumentationTask" classpath="${install_dir}/plugins/com.ibm.rational.llc.engine_1.0.0.<číslo_verze>"/>

Formát úlohy instrumentace je:

<instrument buildPath="" baseLineFile="" saveBackups="" outputDir=""/>

kde:

buildPath:
Uvádí soubory, pro které budou shromážděna data pokrytí. Cestu sestavení lze odkázat buď na název souboru třídy, název souboru jar nebo název adresáře. Lze ho definovat jako kterýkoliv jiný odkaz na cesty, použitý ve skriptu Ant.


baseLineFile:
Uvádí cestu, kde je uložen základní soubor. Základní soubor je soubor, se kterým se poměřuje nástrojový kód a kde jsou generovány statistiky pokrytí kódu. Také slouží jako vstup do úlohy ANT generování sestavy.


saveBackups:
Uvádí, zda přejmenovat původní třídu a soubory jar *.bak. Nastavení saveBackups na hodnotu true bude generovat soubory zálohy; nastavení saveBackups na hodnotu false bude mít za následek přepsání (a tedy ztrátu) původních souborů.
Pozn.: saveBackups je volitelné a jeho výchozí hodnota je false.


outputDir:
Uvádí umístění, kam budou ukládány instrumentované soubory. Standardně jsou již instrumentované soubory ukládány do stejného umístění jako soubory, jejichž instrumentace právě probíhá.

Příklad 1

V následujícím příkladu jsou data pokrytí kódu shromážděna pro všechny soubory v bin/, základní soubor je uložen v blfile.coveragedata. Pro tyto soubory nejsou generované žádné zálohy a instrumentované soubory jsou ukládány do coverageData_files.

<instrument saveBackups="false" baseLineFile="blfile.coveragedata" buildPath="bin/" outputDir="coverageData_files"/>

Příklad 2

V následujícím příkladu jsou data pokrytí kódu shromážděna pro všechny soubory v bin, odkazované jako build.Dir, základní soubor je uložen v blfile.coveragedata a je generována záloha každého z těchto souborů.

<path id="build.Dir"> <pathelement location="bin"/> </path>
<instrument saveBackups="true" baseLineFile="blfile.coveragedata" buildPathRef="build.Dir" />

Příklad 3

V následujícím příkladu jsou data pokrytí kódu shromážděna pro všechny soubory v bin/, základní soubor je uložen v blfile.coveragedata a je generována záloha každého z těchto souborů.

<instrument saveBackups="true" baseLineFile="blfile.coveragedata"> <buildPath> <pathelement location="bin"/> </buildPath> </instrument>

Příklad 4

V následujícím příkladu jsou data pokrytí kódu zpřístupněna pro všechny podadresáře v bin/, obsahující v názvu adresáře com a vylučující soubory těch podadresářů, jejichž názvy obsahují Test. Záloha se generuje pro každý soubor, podstoupený analýze pokrytí kódu a základní soubor je uložen v blfile.coveragedata.

<instrument saveBackups="true" baseLineFile="blfile.coveragedata"> <buildPath> <fileset dir="bin"> <exclude name="**/*Test*"/> <include name="**/*com*/*"> </fileset> </buildPath> </instrument>

Příklad 5

V následujícím příkladu jsou data pokrytí kódu zpřístupněna pro všechny soubory v bin/ abin2/ s výjimkou souborů v podadresářích bin, které obsahují v názvu Test. Záloha se generuje pro každý soubor, podstoupený analýze pokrytí kódu a základní soubor je uložen v blfile.coveragedata.

<instrument saveBackups="true" baseLineFile="blfile.coveragedata"> <buildPath> <fileset dir="bin"> <exclude name="**/*Test*"/> </fileset> </buildPath> <buildPath> <pathelement location="bin2"/> </buildPath> </instrument>

Spustit skript Ant

Jakmile jste jednou konfigurovali skript Ant pro zapnutí pokrytí kódu, můžete skript Ant spustit buď z příkazového řádku nebo z pracovního prostředí.

Spuštění z příkazového řádku

Spuštění skriptu Ant z příkazového řádku:

  1. Nastavte proměnnou prostředí JAVA_HOME na adresář, kde je sada JDK instalována.
  2. Ujistěte se, že proměnná prostředí CLASSPATH obsahuje úplnou cestu a název souboru probekit.jar. Soubor probekit.jar je umístěn v podadresáři org.eclipse.hyades.probekit s vyšším číslem verze a pozdějším časovým razítkem složky modulů plug-in vaší instalace produktu.
  3. Ujistěte se, že proměnná prostředí CLASSPATH obsahuje JAVA_HOME (cestu k vaší instalaci Java, jako například JAVA_HOME/bin/java je platná).
  4. Ujistěte se, že proměnná prostředí PATH obsahuje úplnou cestu k podsložce org.eclipse.hyades.probekit, která je odpovídající pro vaší platformu. Např.:
  5. Nastavte LLC_PLUGIN jako cestu ke složce modulů plug-in:
    set LLC_PLUGIN=<instalační_adresář>\plugins

Příklad

ant -lib=<instalační_adresář>\plugins\org.eclipse.hyades.probekit_<verze>\probekit.jar myTarget

Spuštění z pracovní plochy

Chcete-li spustit skript Ant z pracovní plochy:

Generování statistiky pokrytí kódu

Ujistěte se, že vaše cesta ke třídě obsahuje následující:
<instalační_adresář>\plugins\com.ibm.rational.llc.engine_1.0.0.<číslo_verze>

Chcete-li generovat statistiky pokrytí kódu z příkazového řádku, z adresáře nad kódem, spusťte:

java -Dcoverage.out.file=C:\coverage_report\coverage_data.coveragedata com.ibm.rational.llc.example

Pozn.: Můžete potřebovat nastavit vaši platformu Java, aby odpovídala instalaci produktu.

Generování sestav pokrytí kódu

Chcete-li generovat sestavu pomocí nástroje Ant:
Stáhněte Generátor sestav běhového prostředí BIRT a rozbalte jeho obsah. Nastavte následující proměnné prostředí:

Např.:
<path id="lib.path"> <pathelement location="${env.LLC_COMMON_PLUGIN}"/> <pathelement location="${env.LLC_REPORT_PLUGIN}"/> <fileset dir="${env.BIRT_HOME}/lib" includes="*.jar"/> </path>

Definujte novou úlohu v souboru sestavení pro generování sestavy pokrytí kódu , například:

<taskdef name="code-coverage-report" classname="com.ibm.rational.llc.report.birt.adapters.ant.ReportGenerationTask" classpathref="lib.path"/>

Formát úlohy sestavy pokrytí kódu je:

<code-coverage-report outputDir="" coverageDataFile="" baseLineFiles=""> <filters> <filter type="" value=""/> </filters> <configurations> <configuration name="" value=""/> </configurations> </code-coverage-report>

kde:

outputDir:
Uvádí umístění, kde budou uloženy výsledky sestav.


coverageDataFile:
Uvádí jeden nebo více souborů dat pokrytí kódu, ve kterém se má generovat sestava. Lze ho definovat jako kterýkoliv jiný odkaz na cesty, použitý ve skriptu Ant.


baseLineFiles:
Uvádí jeden nebo více souborů účáří, které byly generovány jako část úlohy instrumentace. Lze ho definovat jako kterýkoliv jiný odkaz na cesty, použitý ve skriptu Ant.


Filtry:
Volitelné: Použité pro filtrované výsledky sestavy.


Filtr:
Typ: Typ filtru, který se má použít pro sestavu.

Hodnota: Hodnota filtru, který se má pro sestavu použít.
Dostupné filtry:

Konfigurace:
Volitelné: Použité pro zadané rozdílné konfigurace výpočtu.


Konfigurace:
název: Název konfigurace.

hodnota: Hodnota konfigurace.
Dostupné konfigurace:

Příklad 1

V následujícím příkladu je shromážděno generování sestavy v souboru coverage-data/coverage.coveragedata pomocí coverage-data/blfile.coveragedata jako základního souboru, sestava je uložena v coverage-reports a filtr line_coverage_threshold se používá s prahem 80 procent. Výchozí konstruktory jsou vyloučeny z výpočtů pokrytí kódu.

<code-coverage-report outputDir="coverage-reports/" coverageDataFile="coverage-data/coverage.coveragedata" baseLineFiles="coverage-data/blfile.coveragedata"> <filters> <filter type="line_coverage_threshold" value="80"/> </filters> <configurations> <configuration name="excludeDefaultConstructor" value="true"/> </configurations> </code-coverage-report>

Příklad 2

V následujícím příkladu je shromážděno generování sestavy v souboru coverage1.coveragedata a coverage2.coveragedata pomocí blfile1.coveragedata a blfile2.coveragedata jako základního souboru a sestava je uložena v coverge-reports. Standardně jsou výchozí konstruktory zahrnuty do výpočtů pokrytí kódu.

<code-coverage-report outputDir="coverage-reports/" coverageDataFile="coverage-data/coverage1.coveragedata;coverage-data/coverage2.coveragedata" baseLineFiles="coverage-data/blfile1.coveragedata;coverage-data/blfile2.coveragedata"> </code-coverage-report>

Zobrazení výsledků pokrytí kódu v pracovní oblasti

Chcete-li zobrazit výsledky pokrytí kódu skriptu Ant v pracovní oblasti:

Vypnutí pokrytí kódu

Chcete-li vypnout instrumantované třídy pomocí úlohy ant, překompilujte projekt nebo nahraďte soubory tříd (.class) záložními soubory .class.bak, pokud bylo povoleno ukládat zálohy.

Související koncepce
Indikátory pokrytí kódu

Související úlohy
Zapnutí pokrytí kódu
Konfigurace úrovní a filtrů pokrytí kódu
Konfigurace indikátorů pokrytí kódu
Analýza sestav pokrytí kódu