Skip to content

Namens(na)- und Annotationen(an)-basiertes Testgenerierungs(tg)-Framework

License

Notifications You must be signed in to change notification settings

Sarahnad/naantg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

na-an-tg

###Namens-(na) und Annotationen (an) -gestütze Test-Generierung (tg)

Mithilfe der Namensgebung der Methoden und verschiedener Annotationen lassen sich Anweisungen zur Generierung der Testfälle angeben.

Im "main"-Ordner des Projekts befindet sich die Klasse "TGRunner" und in dieser die Einstiegsmethode "run()" zur Generierung der Tests. Wenn diese Methode aufgerufen wird, wird in den Interfaces mit der Endung "TG" nach Methoden gescannt, die mit "@TG" annotiert sind. Methoden ohne "@TG" werden ignoriert.

Das "testproject" dient zur Veranschaulichung und zum Test der möglichen Generierungs-Möglichkeiten. In dem Test-Ordner des "testproject" befinden sich eine Reihe Interfaces mit der Endung "TG", deren Namen mit der zu testenden Klasse korrespondieren.

Die Testklassen werden nach Anstoß der Generierung durch den "TGRunner" in den Ordner "testGen" generiert. Dieser Ordner und seine Testklassen können nach belieben gelöscht werden, da sie bei jeder Aktivierung des "TGRunners" neu erstellt werden.

Welche Generierungen bereits möglich sind, ist den jeweiligen Interfaces in "testproject.test" zu entnehmen. Hier ist eine Übersicht der aktuellen Interfaces:

  • ErsteKlasseTG: testet Methoden ohne Parameter mit primitiven Rückgabewerten,

  • ZweiteKlasseTG: testet Methoden ohne Parameter mit primitiven Rückgabewerten mittels weiterer Möglichkeiten

  • InnereKlasseTG: testet drei verschiedene Möglichkeiten für die Generierungsanweisung einer Assertion für einen boolean-Rückgabewert

  • NochEineKlasseTG: testet Methoden mit primitiven Parametern

  • KlasseMitInnererKlasseTG: testet Methoden mit Collections, Listen oder Arrays als Parameter oder Rückgabewert

  • InhaltTG: testet Methoden mit Enums als Parameter oder Rückgabewert

  • DritteKlasseTG: testet Methoden mit Objekten als Parameter oder Rückgabewert und der Möglichkeit einer rekursiven Initialisierung aller Felder

  • HauptscheinTG: testet erweiterte Assertions und die Generierung zusätzlicher Annotatonen für die generierten Tests

  • NoNameTG: testet die Wahl eines beliebigen Namens für die TG-Klasse

  • ScheinServiceTG: testet eine Service-Klasse mit Mocking

Zur externen Nutzung muss über Maven die folgende Dependency eingebunden werden:

<dependency>
    <groupId>de.tudo.naantg</groupId>
    <artifactId>naantg</artifactId>
    <version>1.0-SNAPSHOT</version>
</dependency>

About

Namens(na)- und Annotationen(an)-basiertes Testgenerierungs(tg)-Framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages