brauche HILFE beim Junit test:eek:

tanzverfuehrung

Bekanntes Mitglied
:eek:
ich soll einen Junit test für die methode
boolean nodeExists(String pathName) throws BackingStoreException
machen


Returns true if the named node exists. Accepts a relative or absolute pathname. Absolute pathnames (which begin with '/') are interpreted relative to the root of this node. Relative pathnames (which begin with any character other than '/') are interpreted relative to this node itself. The pathname "" is valid, and refers to this node itself.

If this node (or an ancestor) has already been removed with the removeNode() method, it is legal to invoke this method, but only with the pathname ""; the invocation will return false. Thus, the idiom p.nodeExists("") may be used to test whether p has been removed.

Parameters:
pathName the path name of the node whose existence is to be checked.
Returns:
true if the specified node exists.
Throws:
BackingStoreException - if this operation cannot be completed due to a failure in the backing store, or inability to communicate with it.
IllegalStateException - if this node (or an ancestor) has been removed with the removeNode() method and pathname is not the empty string ("").
IllegalArgumentException - if the path name is invalid (i.e., it contains multiple consecutive slash characters, or ends with a slash character and is more than one character long).



ich habe erstmal zwei tests geschrieben und würde gern wissen,ob die richtig sind!?!
kann mir jemand helfen!?
Java:
	@Test
	public void testNodesExistsRelativePath() throws Exception {
		Preferences a = simple.node("a/b/c");
		boolean nodeExists = a.nodeExists("b/c");
		assertTrue(nodeExists);
	}
	@Test
	public void testNodeExistsRelativePath() throws Exception {
		Preferences a = simple.node("a/b/c");
		boolean nodeExists = a.nodeExists("b");
		assertTrue(nodeExists);
	}
 
M

maki

Gast
Die 2 Tests sehen ok aus, der text hat aber weitere Anforderungen, die von den tests nicht geprüft werden ;)

Was zB. fehlt, sind die tests ob die Exceptions geworfen werden, auch fehlt der Test, ob "" true liefert bei einer Node die nicht removed wurde und ob false zurückgeliefert wird falls sie schon removed wurde, und natürlich ein test der zeigt das im Falle eines falschen Pfades ein false zurückgegeben wird, etc. pp.
 

tanzverfuehrung

Bekanntes Mitglied
Die 2 Tests sehen ok aus, der text hat aber weitere Anforderungen, die von den tests nicht geprüft werden ;)

Was zB. fehlt, sind die tests ob die Exceptions geworfen werden, auch fehlt der Test, ob "" true liefert bei einer Node die nicht removed wurde und ob false zurückgeliefert wird falls sie schon removed wurde, und natürlich ein test der zeigt das im Falle eines falschen Pfades ein false zurückgegeben wird, etc. pp.

ja ok ich weiß das ich noch nicht alle fälle getestet habe,aber wollt erstmal wissen,ob die richtig sind!
DANKE!:toll:
 

tanzverfuehrung

Bekanntes Mitglied
Die 2 Tests sehen ok aus, der text hat aber weitere Anforderungen, die von den tests nicht geprüft werden ;)

auch fehlt der Test, ob "" true liefert bei einer Node die nicht removed wurde und ob false zurückgeliefert wird falls sie schon removed wurde


und wie gehe ich diesen fall am besten an?!
da könnte ich ebstimmt hilfe gebrauchen!

ich ahbe es jetzt so geschrieben:
Java:
	@Test
	public void testNodeExistsRelativePathWithNotRemove() throws Exception {
		Preferences a = simple.node("a/b/c");
		boolean nodeExists = a.nodeExists("");
		assertTrue(nodeExists);
	}
	@Test
	public void testNodeExistsRelativePathWithRemove() throws Exception {
		Preferences a = simple.node("a/b/c");
		a.remove("c");
		boolean nodeExists = a.nodeExists("");
		assertTrue(nodeExists);
	}
 
M

maki

Gast
Sieht doch ok aus, bis auf die tatsache, dass es nicht klar ist, was "simple" ist, aber das steht wohl irgendwo in deinem Code ;)
Würde die temp variable nodeExists weglassen, und direkt im assert die Methode aufrufen.

Du kannst bei der @Test Annotation auch die erwarteten Exceptions eintragen, für die anderen Fälle.
 

tanzverfuehrung

Bekanntes Mitglied
Sieht doch ok aus, bis auf die tatsache, dass es nicht klar ist, was "simple" ist, aber das steht wohl irgendwo in deinem Code ;)
Du kannst bei der @Test Annotation auch die erwarteten Exceptions eintragen, für die anderen Fälle.

ja genau
simple = new SimplePreferences("root", null);
Du kannst bei der @Test Annotation auch die erwarteten Exceptions eintragen, für die anderen Fälle.


meinst du das so?
Java:
@Test
	public void testNodeExistsRelativePathWithNotRemove() throws IllegalStateException {
		Preferences a = simple.node("a/b/c");
		boolean nodeExists = false;
		try {
			nodeExists = a.nodeExists("");
		} catch (BackingStoreException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		assertTrue(nodeExists);
	}


oder meinst du so???
Java:
@Test
	public void testNodeExistsRelativePathWithNotRemove() throws IllegalStateException, BackingStoreException {
		Preferences a = simple.node("a/b/c");
		boolean nodeExists = a.nodeExists("");
		assertTrue(nodeExists);
	}


oder muss ich das einzeln testen!?
und kann ich die BackingStoreException bei allen test hinzufügen?!
 
M

maki

Gast
Ich meinte damit sowas:
Java:
@Test(expected=IllegalArgumentException.class)
public void testBla() throws Exception {
// code der eine IllegalStateException verursacht
}
Try/catch und throws BackingStoreException machen keinen Sinn in Tests.
Der Tests läuft durch, und wenn nicht dann ist er fehlgeschlagen, nix Exception handling ;)
 

tanzverfuehrung

Bekanntes Mitglied
Ich meinte damit sowas:
Java:
@Test(expected=IllegalArgumentException.class)
public void testBla() throws Exception {
// code der eine IllegalStateException verursacht
}
Try/catch und throws BackingStoreException machen keinen Sinn in Tests.
Der Tests läuft durch, und wenn nicht dann ist er fehlgeschlagen, nix Exception handling ;)

achso also mal wieder ganz falsch gedacht:eek:

also so z.b?
Java:
	}
	@Test(expected=IllegalStateException.class)
	public void testNodeExistsRelativePathWithRemove() throws Exception  {
		Preferences a = simple.node("a/b/c");
		a.remove("c");
		boolean nodeExists = a.nodeExists("");
		assertTrue(nodeExists);
	}
	@Test(expected=IllegalArgumentException.class)
	public void testIllegalArgumentException() throws Exception {
		Preferences a = simple.node("a//bc//d/");
		assertFalse(a.nodeExists("d"));
		}


und bei der BackingStoreException habe ich nicht mal ne idee wie ich sie prüfen kann???:L
kannst mir nen tipp geben?!?!
 
Zuletzt bearbeitet:
M

maki

Gast
Das müsste imho so aussehene:
Java:
    @Test(expected=IllegalStateException.class)
    public void testNodeExistsRelativePathWithRemove() throws Exception  {
        Preferences a = simple.node("a/b/c");
        a.remove("c");
        a.nodeExists("irgendetwas");
    }
Die Exception soll ja geworfen werden, ein assert der nie erreicht wird (weil ja vorher die Exception fliegt) gehört raus.

Eine backingstoreException kannst du wohl nciht in einem isolierten Unittest erzeugen, ausser du machst absichtlich Fehler beim initialisieren der Preferences.
 
B

bygones

Gast
ich wäre bei den expected=xxxx immer vorsichtig.

man hat somit keine Kontrolle, ob die Exception an der erwartenden Stelle auch geflogen ist. wenn sie an einer anderen Stelle geflogen ist hat man einen scheinbar grünen Test und somit noch zusätzlich ein wahres Problem verschleiert
 

tanzverfuehrung

Bekanntes Mitglied
Eine backingstoreException kannst du wohl nciht in einem isolierten Unittest erzeugen, ausser du machst absichtlich Fehler beim initialisieren der Preferences.



also kann ich nur 2 von 3 exceptions prüfen???

und so ist der junit test code jetzt richtig oder?
Java:
	 @Test(expected=IllegalStateException.class)
	    public void testIllegalStateException() throws Exception  {
	        Preferences a = simple.node("a/b/c");
	        a.remove("c");
	        a.nodeExists("irgendetwas");
	    } 
	
	@Test(expected=IllegalArgumentException.class)
	public void testIllegalArgumentException() throws Exception {
		Preferences a = simple.node("a//bc//d/");
a.nodeExists("bc");
	}
???:L:bahnhof:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C Brauche Hilfe beim Schreiben eines Programmes :/ Java Basics - Anfänger-Themen 1
L Brauche Hilfe beim arbeiten mit Konstruktoren Java Basics - Anfänger-Themen 20
R Brauche Hilfe beim fertigstellen eines Chat programms Java Basics - Anfänger-Themen 8
S brauche hilfe beim fehler finden Java Basics - Anfänger-Themen 2
C Brauche dringend hilfe beim exception im code Java Basics - Anfänger-Themen 5
Y Brauche Hilfe beim Programm Java Basics - Anfänger-Themen 83
M Brauche Hilfe beim Verstehen vom Quellcode Java Basics - Anfänger-Themen 4
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 3
V Brauche Hilfe beim Programmieren Java Basics - Anfänger-Themen 9
S brauche hilfe beim dateien kopieren / bearbeiten Java Basics - Anfänger-Themen 3
E brauche hilfe beim KeyListener Java Basics - Anfänger-Themen 4
K Brauche Hilfe beim Programmieren eines Funktionsplotters Java Basics - Anfänger-Themen 3
B Brauche Hilfe zu einem Code Java Basics - Anfänger-Themen 5
J Brauche Hilfe bei for-each Aufgabe Java Basics - Anfänger-Themen 1
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
J Brauche Hilfe bei Aufgabe Java Basics - Anfänger-Themen 4
H Brauche Hilfe Java Basics - Anfänger-Themen 2
H Brauche hilfe Java Basics - Anfänger-Themen 3
C Brauche Hilfe um ein Programm zu schreiben Java Basics - Anfänger-Themen 8
Leo0909 Ich brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 2
H Brauche Hilfe in Java Eclipse Programmieraufgabe Neuling Java Basics - Anfänger-Themen 3
D Brauche Dringend Hilfe...Prozedur/Funktionsprozedur Ergebnis augeben Java Basics - Anfänger-Themen 11
I Brauche Hilfe bei Objektorientiertem programmieren Java Basics - Anfänger-Themen 23
M Brauche Hilfe bei If-Scheifen Java Basics - Anfänger-Themen 2
F ich brauche Hilfe bei Listen Java Basics - Anfänger-Themen 13
J Ich brauche Hilfe bei einem Code (Variablen speichern) Java Basics - Anfänger-Themen 29
E Ich Brauche Hilfe Java Basics - Anfänger-Themen 3
J Brauche Hilfe bei einer aufgabe Java Basics - Anfänger-Themen 1
S Brauche hilfe in Java [Fehler in mein Code]? Java Basics - Anfänger-Themen 2
B BITTE!! Ich brauche dringende Hilfe bei einer Aufgabe Java Basics - Anfänger-Themen 17
TpKey10 Ich brauche Hilfe Java Basics - Anfänger-Themen 14
F Ich brauche Hilfe bei Objektorientierter Programmierung... Java Basics - Anfänger-Themen 19
L Input/Output Wurzelzeichen in der Konsole ausgeben | Brauche Hilfe Java Basics - Anfänger-Themen 6
J Brauche Hilfe bei dieser Aufgabe Java Basics - Anfänger-Themen 3
T Brauche Hilfe um ein Programm zu verstehe Java Basics - Anfänger-Themen 4
C Ich brauche hilfe für meine Klausur Java Basics - Anfänger-Themen 13
J Brauche Hilfe !! Java Basics - Anfänger-Themen 8
R Spielfeldbegrenzung einfügen (Java)? Brauche Hilfe! Java Basics - Anfänger-Themen 15
C Brauche dringend Hilfe. Umfrage mit ja und nein in Java erstellen? Java Basics - Anfänger-Themen 12
U Brauche Hilfe bei Programmierung einer Produktdatenbank App Java Basics - Anfänger-Themen 4
P Brauche Hilfe bei ResultSet mit MySQL Java Basics - Anfänger-Themen 6
T Datentypen Brauche Hilfe bei Arrays Java Basics - Anfänger-Themen 3
U Brauche Hilfe bei Bisektionsverfahren Java Basics - Anfänger-Themen 23
E Erste Schritte brauche hilfe zum verstehen einer Klasse(Tiefensuche) Java Basics - Anfänger-Themen 17
I Brauche Hilfe bei Schleifen Java Basics - Anfänger-Themen 18
B Java Graphen zeichnen - Brauche Hilfe Java Basics - Anfänger-Themen 9
S brauche hilfe bei Fehlersuche Java Basics - Anfänger-Themen 7
M JDK installieren Brauche dringend Hilfe Java Basics - Anfänger-Themen 2
L Brauche Hilfe bei Preisberechnungspogramm Java Basics - Anfänger-Themen 1
D Hilbert und Peano Kurve, ich brauche Hilfe Java Basics - Anfänger-Themen 4
S Brauche hilfe bei Pong (JFrame) Java Basics - Anfänger-Themen 2
V Hilfe-brauche eine Idee! Java Basics - Anfänger-Themen 5
A Erste Schritte Brauche Hilfe Java Basics - Anfänger-Themen 2
D Brauche Hilfe für mein übungsprogramm Java Basics - Anfänger-Themen 16
S Klassen Brauche Hilfe bei Erstellung einer Klasse für einen Tachenrechner!!! Java Basics - Anfänger-Themen 6
W Brauche hilfe bei Hausübung Java Basics - Anfänger-Themen 10
D Brauche Hilfe bei Modulo (Übungsaufgabe) Java Basics - Anfänger-Themen 14
X Brauche Hilfe bei printOnScreen Methode !!! Java Basics - Anfänger-Themen 2
H mysql brauche hilfe, wer kann eine (längere) aufgabe für mich erledigen Java Basics - Anfänger-Themen 2
K Erste Schritte Brauche Hilfe bei Starten des Programms Java Basics - Anfänger-Themen 11
B Erste Schritte HILFE Brauche ein Beispiel für korrekte Syntax mit Semantikfehlern Java Basics - Anfänger-Themen 6
H Java von Kopf bis Fuß: Brauche Hilfe Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe bei einem Java-Taschenrechner Java Basics - Anfänger-Themen 11
S Erste Schritte BlueJ-Aufgabe: Programmcode / Brauche dringend Hilfe !!! Java Basics - Anfänger-Themen 37
A Brauche Hilfe bei Division von Feldzahl durch Ganzzahl Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 3
F Java-Anfänger, brauche Hilfe Java Basics - Anfänger-Themen 2
G Brauche bitte Hilfe, bei umgekehrter Ausgabe!! Java Basics - Anfänger-Themen 6
B Erste Schritte Brauche Hilfe für ein UML Diagramm Java Basics - Anfänger-Themen 7
S ICh brauche Hilfe,weil Java in der Schule Java Basics - Anfänger-Themen 11
B Brauche Hilfe mit Aufgaben mit dem JavaEditor Java Basics - Anfänger-Themen 8
I Primzahlenberechnung [Brauche Hilfe] Java Basics - Anfänger-Themen 5
F Reader - brauche Hilfe Java Basics - Anfänger-Themen 19
T Brauche Hilfe bei Variabeln Java Basics - Anfänger-Themen 4
J Brauche Hilfe mit replaceFirst Java Basics - Anfänger-Themen 10
M Brauche Hilfe bei Struktogramm Java Basics - Anfänger-Themen 9
T Datentypen brauche dringende hilfe!dezi in Asci umwandeln! Java Basics - Anfänger-Themen 4
X DB4O Collections and Arrays, brauche dringend Hilfe! Java Basics - Anfänger-Themen 3
B brauche hilfe bei funktion erstellen Java Basics - Anfänger-Themen 8
S Brauche Hilfe bei if/else Java Basics - Anfänger-Themen 3
N Brauche Hilfe mit Kollisionserkennung! Java Basics - Anfänger-Themen 16
J Brauche Hilfe bei Methode Java Basics - Anfänger-Themen 9
G 2 dim. Strsing Arrays brauche Hilfe Java Basics - Anfänger-Themen 20
A Brauche hilfe String untertrennen Java Basics - Anfänger-Themen 12
L Brauche bitte dringend Hilfe für Klausur Java Basics - Anfänger-Themen 8
H Brauche bei einen bsp hilfe! Java Basics - Anfänger-Themen 2
D Währungsrechner brauche Hilfe Java Basics - Anfänger-Themen 10
R Vokabeltrainer / Brauche Hilfe Java Basics - Anfänger-Themen 8
L Brauche Hilfe! Java Basics - Anfänger-Themen 8
S WAV-DATEIEN INTERPRETIEREN UND UMWANDELN Brauche Hilfe Java Basics - Anfänger-Themen 3
A Brauche Hilfe mit einer Forschleife Java Basics - Anfänger-Themen 20
N brauche Hilfe Stringverarbeitung Java Basics - Anfänger-Themen 9
JeromeM90 (Brauche Hilfe) Binär- in Dezimalzahlkonverter Java Basics - Anfänger-Themen 8
M Brauche Hilfe bei Javaapplication für JuFo Java Basics - Anfänger-Themen 21
A brauche hilfe ( gpanel und n-ecke) Java Basics - Anfänger-Themen 11
S Brauche Hilfe mit waitFor() Java Basics - Anfänger-Themen 4
N Brauche dringende Hilfe Java Aplett läuft nicht! Java Basics - Anfänger-Themen 3
D Brauche Hilfe: Funktion zum Kombinieren von Werten Java Basics - Anfänger-Themen 5
T Brauche Hilfe: Access DB + Hashmap Java Basics - Anfänger-Themen 2
N brauche hilfe zu tictactoe Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben