Testklasse vorhanden ja oder nein?


Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).

Moderatoren: Jan, Steff

Testklasse vorhanden ja oder nein?

Beitragvon qdog » 13.09.2017, 12:47

Hallo liebe ABAP Experten,

da das mein erster Eintrag hier ist möchte ich euch alle begrüßen :)

Meine Frage ist, gibt es eine Eigenschaft an einer Klasse, die mir aufzeigt, ob diese Klasse eine Testklasse besitzt? Ich habe dafür schon lange selbst recherchiert, habe aber nichts sinnvolles gefunden. Ich hoffe ihr könnt mir helfen.

Hintergrund ist, dass ich gerne eine automatisierte Auswertung programmieren möchte. Diese soll mir ganz einfach aufzeigen, welche Klassen auf der SAP-Linie keine Testklasse besitzt. Bisher bin ich soweit, dass ich alle Klassen aus der Tabelle TADIR abgreife, die relevant sind. Ist dies denn auch der richtige Weg? Hoffe auf Unterstützung.

Ich bin übrigens noch in der Ausbildung und recht neu in ABAP OO.

Vielen Dank im Voraus.
qdog
ForumUser
 
Beiträge: 2
Registriert: 13.09.2017, 12:33
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Testklasse vorhanden ja oder nein?

Beitragvon jocoder » 13.09.2017, 15:13

Testklassen haben den Zusatz:
Code: Alles auswählen
class ... definition for testing


Wenn es kein Standard gibt wo Testklassen abgelegt werden:
hier müssest du den Verwendungsnachweis automatisieren. Für jede Klasse, für die geprüft werden soll,
ob eine Testklasse vorhanden ist, einen Verwendungsnachweis machen.
Dann muss in den Ergebnissen eine Klasse mit dem Zusatz for testing vorhanden sein.
Die Testklassen können eigentlich überall liegen in Includes, anderen Klassen, anderen Programmen.

Wenn ihr eure Testklassen nur im Class-Builder unter lokalen Testklassen anlegt:
Dann muss du nur nach einem include mit Klassenname==...==CCAU suchen.
Dort werden die lokalen Testklassen gesichert. Die Anzahl des Zeichen = im Includenamen hängt von der Länge des Klassennamen ab.

Es wird auf alle Fälle eine größere Aufgabe, die Kenntnisse im Scannen von ABAP-Source-Code voraussetzt.
jocoder
ForumUser
 
Beiträge: 51
Registriert: 17.08.2015, 14:57
Dank erhalten: 11 mal
Ich bin: Entwickler/in

Re: Testklasse vorhanden ja oder nein?

Beitragvon ewx » 13.09.2017, 16:48

Probier mal CL_AUNIT_PROG_BYTE_CODE_SVC=>ANALYSE_PROGRAM
Die Funktion liefert dir zurück, ob es zu testenden Code gibt.

Als Programmname bei Klassen musst du verwenden: CL_ABAP_TOOL==================CP

Includename für Klassen bekommst du mit CL_OO_CLASSNAME_SERVICE heraus:
http://www.tricktresor.de/blog/classname-utilities/
ewx
Top Expert
 
Beiträge: 3735
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 295 mal

Re: Testklasse vorhanden ja oder nein?

Beitragvon qdog » 14.09.2017, 12:47

Hallo zusammen,

ich habe das ganze folgender Maßen (theoretisch) gelöst. Zuerst selektiere ich alle für uns relevantenklassen aus der Tabelle TADIR. Nach diesen Klassen suche ich in der Tabelle TRDIR mit dem Zusatz =...==CCAU. Wie Jocoder bereits geschrieben hat, ist die Anzahl der = Zeichen unterschiedlich. Ist dieser Eintrag vorhanden, so besitzt diese Klasse eine Testklasse.

Jetzt muss ich das Thema nurnoch umsetzen. Ich melde mich ob ich damit erfolgt hatte und stelle dann auch Code für die Umsetzung zur Verfügung.

Vielen Dank bis hier

Liebe Grüße
qdog
ForumUser
 
Beiträge: 2
Registriert: 13.09.2017, 12:33
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Re: Testklasse vorhanden ja oder nein?

Beitragvon gottfriedstroh » 15.09.2017, 14:56

Das hat mir auch bei meiner Arbeit geholfen! Danke euch leute
gottfriedstroh
ForumUser
 
Beiträge: 16
Registriert: 07.09.2017, 12:35
Dank erhalten: 2 mal
Ich bin: sonstiges

Re: Testklasse vorhanden ja oder nein?

Beitragvon ewx » 15.09.2017, 15:01

qdog hat geschrieben:Nach diesen Klassen suche ich in der Tabelle TRDIR mit dem Zusatz =...==CCAU. Wie Jocoder bereits geschrieben hat, ist die Anzahl der = Zeichen unterschiedlich. Ist dieser Eintrag vorhanden, so besitzt diese Klasse eine Testklasse

Nö!
Das Include *==CCAU kann auch leer sein!
Das ist es vorhanden, es gibt aber keine Testklasse.
ewx
Top Expert
 
Beiträge: 3735
Registriert: 04.08.2003, 19:55
Wohnort: Schleswig-Holstein
Dank erhalten: 295 mal

Re: Testklasse vorhanden ja oder nein?

Beitragvon SaskuAc » 31.01.2018, 10:03

Ich lasse das Thema jetzt nochmal aufleben ..
ich möchte eine Prüfung für den Code-Inspector bauen in der geprüft wird ob eine Testklasse zu einer Globalen Klasse vorhanden ist. Dies wurde uns jetzt nämlich für die Entwicklung vorgegeben..

Gibt es nun eine Möglichkeit auszulesen ob eine Testklasse vorhanden ist?
Ansonsten würde ich nämlich einfach den Include hernehmen und dann mit read report die source auslesen und dann sehe ich ja ob die Testklasse vorhanden ist..

Oder gibt es eine einfachere Variante?
SaskuAc
Specialist
 
Beiträge: 185
Registriert: 01.06.2015, 10:16
Dank erhalten: 16 mal
Ich bin: Entwickler/in

Re: Testklasse vorhanden ja oder nein?

Beitragvon SaskuAc » 12.06.2018, 06:16

habe eine Lösung gefunden.
vielleicht kann der Themenersteller dann das Thema als "gelöst" stellen.

und zwar gibt es die klassse "cl_aunit_prog_info" - diese liefert über die statische Methode "get_tests_of_program" alle testklassen mit den Methoden des jeweiligen programms. eigentlich ganz einfach ...

habe das über die Klasse der Code Inspector Prüfung für ABAP Unit Tests gefunden ..

Schönen Tag noch

Für diese Nachricht hat SaskuAc einen Dank bekommen :
ralf.wenzel
SaskuAc
Specialist
 
Beiträge: 185
Registriert: 01.06.2015, 10:16
Dank erhalten: 16 mal
Ich bin: Entwickler/in


Zurück zu ABAP Objects®

  Aktuelle Beiträge   
SQL Insert in ABAP
vor 6 Stunden von nickname8 1 Antw.
Fragen zu ALV Grids
vor 6 Stunden von nickname8 1 Antw.
iSSHA-1 Hashwerte generieren
vor 9 Stunden von derber 0 Antw.
Web-Dynpro Verständnisproblem bei Navigation
vor 15 Stunden von Bubbleboy 0 Antw.
Checkboxen dynamisch erstellen
vor 7 Stunden von ewx 5 Antw.

  Ähnliche Beiträge beta
Testklasse stresst....
10.02.2017, 12:19 von ralf.wenzel 2 Antw.
Klassen-Dokumentation nicht vorhanden
15.03.2007, 09:21 von JHM 3 Antw.
Suche Fuba oder Klasse
09.11.2010, 18:01 von Unit605 12 Antw.
cl_gui_alv_grid: Editierbar oder nicht?
08.01.2014, 14:24 von ralf.wenzel 2 Antw.
Interface/ Klasse oder Vererbung?
23.02.2018, 14:34 von ewx 13 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron