У меня есть компонент в Угловом с этим HTML:Проверить переключатель в единичном испытании углового
<div class="row">
<label for="tipo" class="column">Tipo: </label>
<div *ngFor="let tipo of tipos" class="column">
<input type="radio" name="tipo" [value]="tipo.id"
[(ngModel)]="movimiento.tipo" (ngModelChange)="alCambiarTipo()">
<span class="{{tipo.texto | lowercase}}">{{ tipo.texto }}</span>
</div>
</div>
Он имеет две кнопки радио, и на смене он запускает функцию в моем компоненте. В своем тесте я хочу проверить второй переключатель, чтобы проверить, вызвана ли моя функция. Я попробовал этот код, но он не работает:
it('should call alCambiarTipo on radio button change',() => {
spyOn(component, 'alCambiarTipo').and.callThrough();
let options: DebugElement[] = fixture.debugElement.queryAll(By.css('input[type="radio"]'));
let secondOption: HTMLInputElement = options[1].nativeElement;
secondOption.checked = true;
expect(component.alCambiarTipo).toHaveBeenCalled();
});
Я также попытался с помощью .click()
на входе, и это также не работает. Что я могу сделать, чтобы вызвать функцию? Благодарю.
PS: Я также попытался сменить модель, добавив component.movimiento.tipo = 1;
и позвонив по телефону fixture.detectChanges()
, и он также не работает.
У меня аналогичная проблема. Вы разрешили это? –