Мне нужно провести модульное тестирование входного элемента в формате mat-form, который будет отключен при заполнении другого поля - PullRequest
0 голосов
/ 20 ноября 2019

У меня есть поле mat-form материалов angular8 с типом ввода = 'text', которое будет отключено при вводе данных в любые другие поля этой формы.

const fnDe: DebugElement = fixture.debugElement.query(By.css('input[type=text]')).nativeElement;
expect(fnDe.attributes).toContain['disabled'];

Я получаю сообщение "SPEC HAS NO EXPECTATIONS" при запуске теста.

Я использую angular8.

Оценил любую помощь.

1 Ответ

0 голосов
/ 21 ноября 2019

Прежде всего помните, что в вашем коде fnBe - это не DebugElement, а собственный элемент HTML. Оттуда вы можете написать свой тест следующим образом:

const htmlElement: HTMLElement = fixture.debugElement.query(By.css('input[type=text]')).nativeElement;

expect(htmlElement.getAttributeNames()).toContain('disabled');

expect также можно упростить:

expect(htmlElement.hasAttribute('disabled')).toBe(true);
...