Таблица тестирования углового материала показывает правильные данные

static означает, что у вас будет только один экземпляр

final, это означает, что вы не можете назначить это значение.

0
задан DeadPassive 21 January 2019 в 09:02
поделиться

1 ответ

Вы никогда не назначаете класс .user-email в своем примере кода. Вы только назначаете класс .user-row элементу tr. Если вы хотите получить элементы по классам, вы можете использовать классы, назначенные Angular Material. Каждый элемент td получает класс формата mat-column-{columnName}, например, mat-column-email в вашем случае.

Вот как я бы это проверил:

it('should test the table ', (done) => {
  expect(component.users).toEqual(testUsers);

  fixture.detectChanges();
  fixture.whenStable().then(() => {
    fixture.detectChanges();

    let tableRows = fixture.nativeElement.querySelectorAll('tr');
    expect(tableRows.length).toBe(4);

    // Header row
    let headerRow = tableRows[0];
    expect(headerRow.cells[0].innerHTML).toBe('Email');
    expect(headerRow.cells[1].innerHTML).toBe('Created');
    expect(headerRow.cells[2].innerHTML).toBe('Roles');

    // Data rows
    let row1 = tableRows[1];
    expect(row1.cells[0].innerHTML).toBe('dummy@mail.com');
    expect(row1.cells[1].innerHTML).toBe('01-01-2020');
    expect(row1.cells[2].innerHTML).toBe('admin,standard');

    // Test more rows here..

    done();
  });
});

Вы можете найти работающий блик стека здесь .

0
ответ дан Fabian Küng 21 January 2019 в 09:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: