Jasmin Angular: флажок снят, не работает должным образом - PullRequest
0 голосов
/ 02 апреля 2020
    it('Reset filter works properly', () => {
     fixture.detectChanges();
     fixture.whenStable().then(() => {
        const hostElement = fixture.nativeElement;
        const checkBox: HTMLInputElement = hostElement.querySelector('#filter ion-item:first-child ion-checkbox');
        console.log('checkBox', checkBox);
        expect(checkBox.checked).toBe(false);
        checkBox.click();
        fixture.detectChanges();
        expect(checkBox.checked).toBe(true);

пытается выполнить модульное тестирование функциональности основного флажка c в angular 9, Jasim framework

Здесь изначально флажок будет снят, после чего он будет выбран щелчком, но не работает должным образом.

console.log печатает элемент флажка

<ion-checkbox _ngcontent-a-c154="" color="selection" mode="md" slot="start" class="ion-margin-start"></ion-checkbox>

Сообщение об ошибке Ошибка: ожидается, что неопределенное значение равно false.

1 Ответ

0 голосов
/ 02 апреля 2020

Вы должны получить доступ к флажку с помощью debugElement. Он содержит все виды ссылок и методов, относящихся к исследованию элемента или компонента. DebugElement против NativeElement

const checkBox = fixture.debugElement.query(By.css('#filter ion-item:first-child ion-checkbox')).nativeElement;

Логическое тестирование флажок

expect(checkBox.checked).toBeFalsy();

checkBox.click();
fixture.detectChanges();

expect(checkBox.checked).toBeTruthy();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...