Подсказка не работает в тесте компонентов angular (из ngx-bootstrap)

Я использовал TooltipModule из ng2-bootstrap и недавно перешел на ngx-bootstrap. Всплывающие подсказки отлично работают в моем приложении - никаких проблем. Однако в моем тесте компонента Angular, когда я импортирую следующее:

import { TooltipModule } from 'ngx-bootstrap';

а затем в TestBed импортируйте следующее:

TestBed.configureTestingModule({imports: [TooltipModule.forRoot(),

Подсказки не отображаются. Я не вижу всплывающую подсказку в консоли разработчика на вкладке «Элементы» в моем браузере. Когда я использую импорт из ng2-bootstrap как:

import { TooltipModule } from 'ng2-bootstrap';

все работает нормально. Я вижу всплывающую подсказку.

В чем проблема? Подсказка отлично работает в моем приложении. Только в тесте Angular у меня проблемы. Нужно ли мне делать что-то по-другому или дополнительно в моих тестах, чтобы всплывающие подсказки работали из ngx-bootstrap?


person user1892775    schedule 01.10.2017    source источник


Ответы (2)


вам нужно импортировать импорт { TooltipModule } from 'ngx-bootstrap';

в вашем относительном модуле, например app.module, а не в вашем компоненте, а затем в массиве импорта ваших модулей добавьте TooltipModule.forRoot().

вот и все, теперь вы можете использовать всплывающую подсказку в своих app.modules компонентах.

Если вы используете отложенную загрузку, добавьте ее { TooltipModule } from 'ngx-bootstrap'; в другой модуль.

person Nikhil Radadiya    schedule 08.12.2017
comment
Если вы используете отложенную загрузку, добавьте { TooltipModule } в другой модуль с отложенной загрузкой Это очень важно - person Hakan Fıstık; 17.08.2020

это то, что мы делаем (тесты действительно старые, но все еще работают)

it('tooltip should be displayed by focus event after 0 ms by default',
fakeAsync(() => {
  const element: HTMLElement = fixture.debugElement.nativeElement;
  const tooltipElement: any = element.querySelector('#test-tooltip1');
  tooltipElement.focus();
  fixture.detectChanges();
  tick(0);
  fixture.detectChanges();
  expect(element.querySelector('.tooltip-inner')).not.toBeNull();
})
);

полный образец можно найти здесь: https://github.com/valor-software/ngx-bootstrap/blob/31c5f62a48560d4372f0043241829a27e5f3deb6/src/spec/tooltip.directive.spec.ts#L66-L77

person valorkin    schedule 03.10.2017