Angular2 unit-Tests : testen einer Komponente Konstruktor

Alles ist im Titel : wie kann man testen, was geschieht in der Komponente Konstruktor ?

Für Ihre Informationen, ich bin mit einem service, die erfordert, dass Sie eine Einstellung, und ich würde gerne sehen, wenn die 2 Methoden, die ich rufen Sie im Konstruktor aufgerufen werden, richtig.

Meine Komponente Konstruktor :

constructor(
  public router: Router,
  private profilService: ProfileService,
  private dragula: DragulaService,
  private alerter: AlertService
) {
  dragula.drag.subscribe((value) => {
    this.onDrag(value);
  });
  dragula.dragend.subscribe((value) => {
    this.onDragend(value);
  });
}
Injizieren ein fake DragulaService mit der test-Bett und Spion auf Ihre Methoden?
Ich würde gerne, das problem ist, dass ich nicht erreichen kann contrsuctor um zu testen, ob meine stub aufgerufen wird
Was meinst du mit "erreichen-der Konstruktor"? Es wird aufgerufen, wenn die Komponente instanziiert, indem die DI-system in der test-Bett, wenn Sie TestBed.createComponent(YourComponent).
Ich meine, ich möchte, um zu testen, ob der code im Konstruktor wird ausgelöst, durch die Prüfung der Konstruktor als ob es eine andere Methode
Sie kann aufrufen des Konstruktors durch die manuelle Erstellung einer new YourComponent(...), aber Sie sollte lassen sich die DI-system seine Arbeit machen. Das ist, wie das Gerät in der Praxis benutzt werden, denken Sie über deren öffentliche Schnittstelle wie die anderen Komponenten sehen. Wie unten, es klingt wie Sie schreiben (oder zu schreiben versucht) spröde tests, die sind zu eng mit der aktuellen Umsetzung.

InformationsquelleAutor trichetriche | 2017-04-19

Schreibe einen Kommentar