# Setter/Getter MEthoden testen



## Houly (29. Nov 2009)

Hallo,

ich beschäftige mich (notgrdrungen!) gerade mit Junit 4.
Habe mir alle assert Methoden mal zugemüte geführt, aber komme noch nicht so richtig zurecht.
Wie teste ich denn zum beispiel Set und Get Methoden? Bei boolean kann ich ja eig. mit assertTrue/false testen und bei einem Rückgabewert vom Typ Integer?? Prüfe ich da einfach ob Null bzw AssertNotNull?

Mal ein Beispiel:

Ich habe eine get Methode

```
@Test
	public final void getType(){
		assertEquals("1",act.getType());
	}
```

in der setUp Methode initial. ich vorher 

```
int type = 1;
```

Test schläfgt aber fehl! 
Auch wenn ich es total sinnlos finde, die get/set Methoden überhaupt zu testen,
muss ich da irgendwie durch. Kann mir vllt jemand auf die Sprünge helfen? GUI testen is ja noch schlimmer...

Gruß


----------



## maki (29. Nov 2009)

Ja, getter & setter zu testen die nichts andres machen zu setten bzw. zu getten ist tatsächlich vollkommen sinnlos 

```
assertEquals("1",act.getType());
```
"1" wäre ein String, deine Methode gibt doch aber einen int zurück...


----------



## Houly (29. Nov 2009)

maki hat gesagt.:


> Ja, getter & setter zu testen die nichts andres machen zu setten bzw. zu getten ist tatsächlich vollkommen sinnlos
> 
> ```
> assertEquals("1",act.getType());
> ...



Stimmt, hab ich auch gerade bemerkt.
Mit assertEquals kann ich ja eig. auch auf gar kein Int wert testen, sondern doch eig. nur Objekte.
Wie teste ich am besten ne get-Methode auf nen int wert?


----------



## maki (29. Nov 2009)

Klar geht das, ab Java 5 vollautomatisch dank Wrapper.


----------



## tfa (29. Nov 2009)

maki hat gesagt.:


> Ja, getter & setter zu testen die nichts andres machen zu setten bzw. zu getten ist tatsächlich vollkommen sinnlos



Ganz so streng würde ich das nicht so sehen. Selbst wenn Getter und Setter automatisch erzeugt werden, also fehlerfrei sind, gehören sie dennoch zum Code und können verändert werden - ob nun absichtlich oder aus Versehen. Unittests könen hier vor bösen Überraschungen schützen.
Vor einiger Zeit habe ich einen automatischen Tester für Getter und Setter geschrieben. Funktioniert ganz einfach per Reflection und verursacht minimalen Mehraufwand.


----------

