Testen von verschiedenen Produktversionen

Marco5989

Mitglied
Hallo,

ich bin gerade dabei Testcases für ein Softwareprodukt zu entwerfen ( JUnit + Maven ). Nun ist es so, dass das Produkt verschiedene Versionen besitzt und je nach Version nicht alle Testcases abgearbeitet werden sollen.

mvn test könnte man im Prinzip die Version mitübergeben per String (z.B. 3.1.0). Dann müsste er aber irgendwie bei den Test Methoden überprüfen ob sie für die Version bereits zu testen sind oder nicht.

Wie wird sowas am besten realisiert?
Habe schon überlegt eine eigene Annotation mit @Version(min = 2.5.0) zu entwerfen und vor die Testmethoden zu schreiben. Habe es aber nicht richtig hinbekommen und weiß auch nicht ob das so eine gängige Lösung wäre.

viele Grüße
Marco
 

strußi

Top Contributor
Ein spontaner einfall wäre eine Struktur switch case aufzubauen, in dem die versionen hinterlegt sind und die jeweils erlaubten/benötigten tests

zweite Idee: byteflags, die angeben, ob ein Test durchgeführt werden soll oder nicht
version 1.2.3 (
test 1 byte =0;
test 2 byte =1;
test 3 ...
}

... testXYZ( byte run)
if( run =1){
do ...
} else{}

Schreib gerade an einem Programm, in dem meine Oberfläche abhängig von einem Probentyp aufgebaut wird. Für diesen Parameter habe ich ein byte, das ich übergebe (mehr als 2 Optionen) geht auch mit einem bool, wenn es speichereffizient sein soll und man nur zwei möglichkeiten hat
 

Highchiller

Bekanntes Mitglied
Es gibt in JUnit die Annotation @Ignore um das Ergebnis des Tests zu ignorieren. Das wird oft für integration tests verwendet.
Da JUnit open source ist, schau dir doch mal die Klasse an. Eventuell kann deine Annotation von dieser erben, gibts das überhaupt bei Annotationen?

Ansonsten kenn ich es schon als Konvention mit Hilfe von Annotation Tests durchzulaufen oder zu ignorieren. Genau dafür ist @Ignore ja eigentlich gedacht.

Wichtig dabei ist, er führt die Tests trotzdem aus, nur zählt er ihn nicht zu den Fehlgeschlagenen oder zählt diese Tests gesondert.

Im Anhang hab ich dir mal die Ignore.java von JUnit4 angehängt. Ansonsten findest du alles bei sourceforge ;)

Eine elegante Lösung wie ich finde, ist selbst einen Annotationstyp zu deklarieren mit TestSuites anzugeben was mit diesem Fall geschehen soll. Hier wird der Gedanke umrissen: Ignore JUnit Tests
 

Anhänge

  • Ignore.java
    1,4 KB · Aufrufe: 3
Zuletzt bearbeitet:

Marco5989

Mitglied
Vielen Dank,

ich habe eine eigene Annotation @Version erstellt, sodass ich mit

@Test
@Version(min = "4.2.1")
public ....


die Tests aussortieren kann!


Ich habe noch eine kleine Frage und will kein extra Thema aufmachen:

Und zwar habe ich zwei Verbindungen zu einem FTP Server. Einmal per FTP und einmal per SFTP. Die Verbindungsklassen implementieren beide ein Interface (für Methoden wie connect, login, download, upload etc.).
Die Testcases, die ich habe sind momentan für den FTP Zugang implementiert. Jedoch sind für den SFTP Zugang genau die gleichen Tests nochmal zu durchlaufen.

Gibt es eine Möglichkeit die Tests 2 mal durchlaufen zu lassen? Dann müsste nach der Hälfte quasi die Client Klasse auf SFTP umgestellt werden (wird in einer abstrakten Testklasse instanziiert)

Ist das möglich? Danke für die schnellen Antworten!!
Liebe Grüße
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Zuverlässiges Automatisiertes Testen im eigenem Software-Unternehmen aufsetzen - How to? Allgemeine Java-Themen 12
Zrebna Automatisiertes Testen von größeren und komplexen Prozessen Allgemeine Java-Themen 56
L Erste Schritte TDD testen einer Methode mit injezierten Services? Allgemeine Java-Themen 12
Z Testen ob neuer Tag beginnt Allgemeine Java-Themen 37
S Habt ihr eine Idee wie man Serializierung testen kann..? Allgemeine Java-Themen 6
B Eclipse WebSocket programmiert, kann es leider nicht testen. Allgemeine Java-Themen 15
H OOP Testen einer Exception mit JUnit Allgemeine Java-Themen 8
perlenfischer1984 TestNG - Enum testen Allgemeine Java-Themen 1
perlenfischer1984 Testng : Funktion mit mehreren Parametern testen Allgemeine Java-Themen 5
J Best Practice Testen von protected Methoden Allgemeine Java-Themen 7
F Testen von Methoden Allgemeine Java-Themen 3
B JUnit Zufalls Operation testen Allgemeine Java-Themen 1
P Testen von UIs Allgemeine Java-Themen 2
T MEthodenauruf testen, wenn instanz erst erzeugt wird Allgemeine Java-Themen 0
T EventBus testen Allgemeine Java-Themen 1
L JUnit - automatisiertes vs. manuelles Testen? Allgemeine Java-Themen 6
R Java Performance testen Allgemeine Java-Themen 18
B Mails testen Allgemeine Java-Themen 7
A AVL-Baum - Testen ob einer vorliegt Allgemeine Java-Themen 4
aze JUnit: Testen ob bestimmte Exception nicht auftritt Allgemeine Java-Themen 18
J JUnit - werfen von Exceptions testen Allgemeine Java-Themen 17
X Testen ob ein array leer ist Allgemeine Java-Themen 6
M Server-Responds testen, Code-Redundanz Allgemeine Java-Themen 3
fastjack Unit-Testen mit Mocks Allgemeine Java-Themen 6
B FileWriter / FileReader testen / Mock-Objekt für Unit Tests? Allgemeine Java-Themen 6
H Thread Safety und Deadlocks testen Allgemeine Java-Themen 6
D Muss eine JNI Biblio testen (MAC OS X) Allgemeine Java-Themen 4
T Object auf Double, Int, String testen Allgemeine Java-Themen 5
aokai Testen von Klassen die abhängig von Stdlibs URL sind Allgemeine Java-Themen 3
S Testen einer Anwendung durch klicken von Koordinaten Allgemeine Java-Themen 7
R Testen von Applets - versch. Browser und Java Versionen? Allgemeine Java-Themen 4
V Quellcode auf "Güte" testen? Allgemeine Java-Themen 5
G JAR-DAtei testen Allgemeine Java-Themen 15
J Klasse auf Konstruktor oder Methode testen? Allgemeine Java-Themen 3
A Junit Exceptions testen Allgemeine Java-Themen 3
Z Testen welches BS benutzt wird Allgemeine Java-Themen 3
G Testen von RMI,TCP/IP, Servlets etc. Allgemeine Java-Themen 2
M Welches Linux zum Java testen? Allgemeine Java-Themen 5
P Testen mit JUnit Allgemeine Java-Themen 8
L Java6 update N bekommt neues Browser-Plugin, bitte testen. Allgemeine Java-Themen 7
G testen mit JUnit? Allgemeine Java-Themen 3
K Testen ob Methode existiert? Allgemeine Java-Themen 2
N Cashbook Management Testen Allgemeine Java-Themen 7
A testen ob Primzahl dauert bei größeren zahlen extrem lange Allgemeine Java-Themen 8
M String testen? Allgemeine Java-Themen 2
M String testen? Allgemeine Java-Themen 6
N auf typ testen? Allgemeine Java-Themen 3
M Programmierstill: Bitte testen anhand HTML-Tool Allgemeine Java-Themen 18
K Testen einer Klasse mit File Objekt als Parameter Allgemeine Java-Themen 6
M Bitte Testen: Mein Multi-File Editor Allgemeine Java-Themen 30
T GUI Testen Allgemeine Java-Themen 4
T GUI Testen Allgemeine Java-Themen 5
G Programm zum Testen der Striktheit von Java Allgemeine Java-Themen 9
H Laufwerk testen? Allgemeine Java-Themen 12
F Hilfe: Adjazenzmatrix mittels JUnit testen. Allgemeine Java-Themen 2
M Jemannd mit 1.4/1.3/1.2 zum Testen gesucht. Allgemeine Java-Themen 15
flashfactor Testen ob ein R/3 erreichbar bzw. noch am leben ist. Allgemeine Java-Themen 2
T Datum testen und Einsetzten Allgemeine Java-Themen 5
M Regular Expression - verschiedene Ausdrücke testen (grep | ) Allgemeine Java-Themen 5
P Dateinamen mit regulärem Ausdruck testen Allgemeine Java-Themen 9
P Dateinamen testen? Schreibrechte auf Verzeichnis testen? Allgemeine Java-Themen 8
Master3000 Dateien zwischen verschiedenen Netzwerken senden Allgemeine Java-Themen 17
Drachenbauer Wie muss ein Konstructor aussehen, um dinge mit verschiedenen Zusätzen in den "<>" anzunehmen? Allgemeine Java-Themen 1
M Wie kann man eine void Methode mit Variablen von zwei verschiedenen Objekten ausführen? Allgemeine Java-Themen 15
A Classpath Library in verschiedenen Projekten Allgemeine Java-Themen 2
S Spielfeld aus verschiedenen Kacheln Allgemeine Java-Themen 35
U Variablen Stringarrays mit wenig verschiedenen Zeichen effizienter speichern Allgemeine Java-Themen 10
M ArrayList mit verschiedenen Datentypen in String konvertieren Allgemeine Java-Themen 10
M Null byte in verschiedenen charsets Allgemeine Java-Themen 2
C Vigenere und Caesar in verschiedenen Alphabeten Allgemeine Java-Themen 1
A Threads Lock über mehrere Abschnitte in verschiedenen Methoden Allgemeine Java-Themen 5
T Datentypen Eine Liste - verschiedenen Klassen - eine Abstracte Klasse Allgemeine Java-Themen 3
P Objekt mit verschiedenen Datentypen Allgemeine Java-Themen 5
P Anzahl vo Einträgen in verschiedenen Sets Allgemeine Java-Themen 3
R Input/Output Dateizugriff aus verschiedenen Tools Allgemeine Java-Themen 3
J Druckprobleme bei verschiedenen Schriftarten/-größen Allgemeine Java-Themen 7
B File Seperator unter verschiedenen OS Allgemeine Java-Themen 2
G Gleiche Packages in verschiedenen JAR Dateien - Welches Package wird verwendet? Allgemeine Java-Themen 5
K Programm mit verschiedenen Parametern starten Allgemeine Java-Themen 2
E Outputstream an verschiedenen Positionen beschreiben Allgemeine Java-Themen 4
N Dateizugriff in verschiedenen Ordnern Allgemeine Java-Themen 2
S Fragen zu verschiedenen Themen vom JCreator Allgemeine Java-Themen 2
S Frage zu verschiedenen Java Projekten Allgemeine Java-Themen 6
D Logger mit verschiedenen Ausgabezielen Allgemeine Java-Themen 2
H2SO3- sichtbarkeit in verschiedenen paketen Allgemeine Java-Themen 2
R Kann ich die jars eines Applets auf verschiedenen Domains hosten? Allgemeine Java-Themen 2
T DataFrame (Matrix mit mit verschiedenen Typen pro Spalte) Allgemeine Java-Themen 4
R Aktuelle Kompatibilitätsliste für JRE auf verschiedenen OS´s Allgemeine Java-Themen 2
MQue Methoden in verschiedenen Klassen aufrufen Allgemeine Java-Themen 21
MQue JButton an verschiedenen Variablen Allgemeine Java-Themen 2
J parsen von verschiedenen dokument typen Allgemeine Java-Themen 3
D generischer Iterator mit verschiedenen Typen Allgemeine Java-Themen 3
S Arrayelemente in verschiedenen Variationen zurückgeben Allgemeine Java-Themen 12
T Herunterfahren oder Neustarten der verschiedenen OS Allgemeine Java-Themen 11
C Sichbarkeit von Objekten / Methoden in verschiedenen Files Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben