ОБНОВЛЕНИЕ: обновлен код для ngx-bootstrap 6+, более старые версии см. ниже
Решение состоит в том, чтобы убедиться, что модальные окна скрыты после каждого теста, который запускает фрагменты кода, которые могут отображать модальные окна:
import { BsModalService } from 'ngx-bootstrap';
// test definitions ...
afterEach(() => {
const modalService: BsModalService = TestBed.get(BsModalService);
modalService.hide();
});
этот метод использует метод hide () из BsModalService.
Я счел полезным иметь служебную функцию, которую я могу повторно использовать в своих тестах:
export function closeModalsAfterEach() {
afterEach(() => {
const modalService: BsModalService = TestBed.get(BsModalService);
modalService.hide();
});
}
Старый код (для версий до ngx-bootstrap 6)
Старое рабочее решение до ngx-bootstrap 5
import { BsModalService } from 'ngx-bootstrap';
// test definitions ...
afterEach(() => {
const modalService: BsModalService = TestBed.get(BsModalService);
modalService.hide(1);
});
export function closeModalsAfterEach(upToLevel: number = 1) {
afterEach(() => {
const modalService: BsModalService = TestBed.get(BsModalService);
for (let level = 1; level <= upToLevel; level++) {
modalService.hide(level);
}
});
}
person
Francesco Borzi
schedule
12.11.2018