Junit Mockito: Instanz von inneren erzeugten Objekten

Testet Ihr eure Klassen? Schreibt ihr JUnit Tests?

  • JA, ich teste mit JUnit.

    Stimmen: 4 100,0%
  • NEIN, ich teste nicht.

    Stimmen: 0 0,0%
  • Ja ,ich teste aber nicht mit Junit.

    Stimmen: 0 0,0%
  • ICh schreibe keinen Test Code. Ich teste nur LIVE.

    Stimmen: 0 0,0%

  • Anzahl der Umfrageteilnehmer
    4

tanzverfuehrung

Bekanntes Mitglied
HAllo ich habe mal eine Frag zu Junit Tests mit Mockito

ICh habe eine Klasse A, die getestet werden soll. In der Klasse A wird im Konstruktor Klasse B erzeugt. Un dann wird mit der instanz sachen gemacht.
Habe ich die möglichkeit auch dieses zu testen?

Java:
public class A  {

        private B b;
    public void A() {
       
         B b = this.b = new B();
        b.doIt();
//..
    }
}

Java:
verify(b).doIt();
???

wie komme in an die richtige Instanz von B?
 
Hat dieser Aufruf der Methode Auswirkungen auf den Zustand des Objekts von A? Wenn ja dann prüfe auf den entsprechenden Zustand.
 
@TE: Du machst hier einen Fehler in der Architektur: A braucht eine Instanz von B, um arbeiten zu können. Benutze Dependency Injection:

Entweder
Java:
class A {
    private B b;
    public A(B b) { this.b = b; }
    // ...
}

oder
Java:
class A {
    private B b;
    public B getB() {
        return this.b == null? this.b = new B() : this.b;
    }
    public void setB(B b) {
        this.b = b;
    }
    public void doSth() {
        this.getB().doSth();
    }
}

Im Unit-Test kannst du die Instanz von B mit Mockito faken und somit ausschließlich die Funktionalität von A prüfen.
 

Zurück
Oben