Chciałbym zmienić wartość pola wejściowego z testu Angular 2 unit.Aktualizowanie wejściowego pola html z poziomu testu Angular 2
<input type="text" class="form-control" [(ngModel)]="abc.value" />
Nie mogę po prostu zmienić ngModel
ponieważ abc
obiekt jest prywatny:
private abc: Abc = new Abc();
kątowej 2 testów, mogę symulować użytkownika, wpisując w polu tekstowym, tak aby ngModel
zostanie zaktualizowany z tym, co użytkownik wpisał z testu jednostki?
Mogę pobrać DebugElement
i nativeElement
z pola wejściowego bez problemu. (Ustawienie właściwości value
w polu wejściowym nativeElement
nie działa, ponieważ nie aktualizuje wartości ngModel
z ustawionym dla niej wartością).
Może być wywoływana inputDebugEl.triggerEventHandler
, ale nie jestem pewien, jakie argumenty podać, aby zasymulować użytkownika wpisującego określony ciąg danych wejściowych.
Dziękuję bardzo Jon.To działało wspaniale, a ngModel został zaktualizowany z żądanym tekstem. Naprawdę zaoszczędziłeś mi sporo czasu z twoją odpowiedzią. – Daniel
Czy są jakieś inne błędy znalezione podczas realizacji tego? Próbuję uruchomić to rozwiązanie, ale jak dotąd nie udało się zaktualizować modelu. Jestem na Angular 2.1.2, więc nie jestem pewien, czy coś się zepsuło/zmieniło od tego posta. –
@NathanG nie, że pamiętam. Może pomóc mniej lub więcej próba zmiany wykrywania i czekanie na stabilność. – jonrsharpe