2016-12-19 3 views
0

geprüft wird Ich teste eine Anwendung basierend auf ionic 2 und angular 2 mit protractor. Ich würde gerne testen, ob und wann eine ion-checkbox überprüft wird. Unter der Annahme, dass es nur eine Option in der Seite, ich habe dies versucht:So testen Sie, ob eine CheckBox in ionic 2

var checkBox = element(by.css('ion-checkbox')); 
expect(checkBox.isSelected()).toBe(true); 

Der obige Test funktioniert nicht richtig als Eigentum isSelected() immer false auch wenn das Kontrollkästchen aktiviert ist. Soweit ich weiß, gibt es keine Eigenschaft isChecked(). Wie kann ich es dann testen?

+0

können Sie Ihre HTML-Seite teilen? –

Antwort

0

Hatte ein ähnliches Problem, die Art, wie ich das tat, war mit Javascript verwenden Sie grundsätzlich indexOf, um seine Existenz zu überprüfen, überprüfen Sie meinen Code unten und auf Ihre Situation entsprechend anwenden.

+0

Ich habe '$ scope' in angular2 nicht gesehen – yurzui

+0

Sie brauchen' $ scope' nicht, das war genau so, wie ich 'checkItem' als eine Funktion definierte, auf die die Ansicht zugreifen konnte. – Olli

0

Versuchen Sie, das Objekt in der Ansicht mit dem Controller zu verbinden.

auf Ihrer HTML-Komponente hinzu:

<ion-checkbox [(ngModel)]="yourControllerVariableName"></ion-checkbox> 

Und auf dem Controller als eine Variable mit Namen yourControllerVariableName erklären und versuchen Sie folgendes:

expect(yourControllerVariableName.checked).toBe(true); 
Verwandte Themen