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.