Show TOC

Ergebnisse konfigurierenLocate this document in the navigation structure

Vorgehensweise

Ein Konfigurationsobjekt erlaubt Ihnen die Kontrolle darüber, wie das Coverage API die Ergebnisse der Quelltextabdeckung berechnet. Mit einem Konfigurationsobjekt können Sie Folgendes benutzerspezifisch definieren:

  • Die Tiefe und den Inhalt der Hierarchie der Ergebnisse, die das Coverage API berechnet.

    Beispiel: Standardmäßig berechnet das Coverage API die Ergebnisse für alle Unterpakete und Programme in einem von Ihnen angegebenen Paket.

    Mit einem Konfigurationsobjekt können Sie lediglich die aggregierte Quelltextabdeckung, nicht aber die vollständigen Statistiken des Pakets erhalten. Oder Sie können die Ergebnishierarchie auf einer bestimmten Ebene anhalten.

  • Die Statikstiken der Quelltextabdeckung, die in den Ergebnissen enthalten sind. Beispiel: Wenn Sie wollen, können Sie nur die Statistik zur Zweigabdeckung in einem Ergebnis zurückgeben.

  • Die Angabe, ob globale und lokale Klassen in Class-Pools und anderen Typen von Programmen als eine separate Ebene in der Hierarchie zwischen Programmen und Verarbeitungsblöcken angezeigt werden sollen.

Sie können ein Konfigurationsobjekt für eine beliebige IF_SCV_MEASUREMENT->BUILD...RESULT-Methode angeben.

Sie können ein Konfigurationsobjekt auch als die Standardkonfiguration einer Messreihe sichern. In diesem Fall wird es als die Standardkonfiguration in allen BUILD...RESULT-Methodenaufrufen verwendet.

Wenn Sie keine Konfiguration bereitstellen, hat die Ergebnishierarche die folgenden Standardmerkmale:

  • Sie enthält die vollständige Hierarchie der Unterkomponenten, die in den Entitäten enthalten sind, für die Sie die Ergebnisse erhalten wollen.

  • Alle Arten der Statistiken der Quelltextabdeckung werden berechnet: Zweig, Anweisung und Verarbeitungsblock.

  • Globale und lokale Klassen werden in Class-Pools und anderen Programmen in ihrer eigenen Hierarchieebene zwischen Programmen und Verarbeitungsblöcken angezeigt.

Mit Konfigurationsobjekten arbeiten: Eigenständige Messung

Nachfolgend ist ein Beispielquelltext für das Abrufen eines Konfigurationsobjekts aus einer Messung und für das benutzerspezifische Festlegen der Ergebnisberechnung.

DATA: measurement   TYPE REF TO if_scv_measurement,
      configuration TYPE REF TO if_scv_result_configuration,
      result        TYPE REF TO if_scv_result,
      display       TYPE REF TO if_scv_result_display.

* Get the configuration object
configuration = measurement->get_result_configuration( ).

* Truncate the results hierarchy at the program level
configuration->stop_at( ce_scv_node_type=>program ).

* Return only the branch coverage in results
configuration->remove_all_coverage_types( ).
* Constants before SAP NetWeaver 7.0 EHP2 SP5 or 6
configuration->add_coverage_type( IF_SCV_COVERAGE=>CON_BRANCH ).
* Constants after SAP NetWeaver 7.0 EHP2 SP5 or 6
configuration->add_coverage( CE_SCV_COVERAGE_TYPE=>BRANCH ).

* Get the result - the new configuration is used
result = measurement->build_component_result( 'BC-CCM-MON' ). 

* Show the configured result
display = cl_scv_coverage_ui=>get_result_display( result ).
display->show_as_fullscreen( ).

            

Mit Konfigurationsobjekten arbeiten: Messreihe

Sie können in einer Messreihe ein initiales Konfigurationsobjekt als die Standardkonfiguration der Messreihe sichern. Die Messreihe verwendet die Konfiguration standardmäßig in allen Ergebnisberechnungen. Beispielquelltext: Schritt 2: Standards für eine Messreihe setzen

Sie können den Standard überschreiben, indem Sie ein zusätzliches Konfigurationsobjekt als Argument einem BUILD...RESULT-Methodenaufruf bereitstellen.

Methoden von IF_SCV_RESULT_CONFIGURATION

Nachfolgend ist ein Überblick der Konfigurationsmethoden. Die erste Tabelle zeigt die Methoden für die benutzerdefinierte Ergebnishierarchie, die für die Berechnung angelegt wird.

IF_SCV_RESULT_CONFIGURATION-Methode

Verwendung

STOP_AT

Schneidet die Ergebnishierarchie nach der von Ihnen angegebenen Ebene ab. Es gibt folgende Ebenenkonstanten:

CE_SCV_NODE_TYPE=>BLOCK: Verarbeitungsblock

CE_SCV_NODE_TYPE=>CLASS: Klasse (als zusätzliche Ebene unterhalb des Programms angezeigt)

CE_SCV_NODE_TYPE=>PROGRAM: Programm

CE_SCV_NODE_TYPE=>PACKAGE: Paket

CE_SCV_NODE_TYPE=>COMPONENT: Anwendungskomponente, wie im Package Builder angezeigt

CE_SCV_NODE_TYPE=>SELECTION: Der Baum wird an den entsprechenden Entitäten abgeschnitten, die mit einem Auswahlobjekt angegeben sind.

DONT_STOP

Die Ergebnishierarchie wird bis in ihre vollständige Tiefe berechnet.

SET_IGNORE_HIERARCHY

Berechnet keine Ergebnishierarchie. Gibt nur ein aggregiertes Ergebnis für jede angeforderte Entität zurück.

SET_SKIP_CLASS_LEVEL

Zeigt keine separate Hierarchieebene für globale und lokale Klassen zwischen den Programm- und Verarbeitungsblock-Ebenen an. Für jedes Programm gibt es nur ein aggregiertes Ergebnis. Die nächste und letzte Hierarchieebene ist die Verarbeitungsblockebene.

Nachfolgend sind die Methoden für das Festlegen der Statistiken der Quelltextabdeckung, die berechnet werden.

IF_SCV_RESULT_CONFIGURATION-Methode

Verwendung

REMOVE_ALL_COVERAGE_TYPES

Konfiguriert ein Ergebnis, das keine der drei Arten der Statistiken zur Quelltextabdeckung zurückgibt.

ADD_ALL_COVERAGE_TYPES

Konfiguriert ein Ergebnis, das alle drei Arten der Statistiken zur Quelltextabdeckung zurückgibt.

ADD_COVERAGE_TYPE

Konfiguriert ein Ergebnis, das eine der drei Arten der Statistiken zur Quelltextabdeckung zurückgibt.

In SAP NetWeaver 7.0 EHP2 bis SP5 oder 6 sind die Konstanten:

IF_SCV_COVERAGE=>CON_STATEMENT

IF_SCV_COVERAGE=>CON_BRANCH

I F_SCV_COVERAGE=>CON_PROCEDURE

Ab SAP NetWeaver 7.0 EHP2 SP5 oder 6 sind die Konstanten:

CE_SCV_COVERAGE_TYPE=>STATEMENT

CE_SCV_COVERAGE_TYPE=>BRANCH

CE_SCV_COVERAGE_TYPE=>PROCEDURE

REMOVE_COVERAGE_TYPE

Konfiguriert ein Ergebnis, das keine bestimme Art der Statistiken zur Quelltextabdeckung zurückgibt. Die Konstanten werden oben für Methode ADD_COVERAGE_TYPE angezeigt.

Sie können eine Konfiguration auf den Standard des Coverage API zurücksetzen, indem Sie die Methode RESET_TO_DEFAULT aufrufen.