я в настоящее время имеющий следующую проблему:Karma - браузер для повторной инициализации описания блока
В модульном тесте карму, у меня есть два описания блоков. В обоих из них, я определяю элемент, скомпилировать его и добавить его к телу, так же, как следующее:
element = angular.element('<div>some content</div>');
element = $compile(element)(scope);
angular.element("body").append(element);
Проблема заключается в том, что второй блок описания конфликтов с первым, так как окно браузера остается открытым все время.
Бетон, во втором описывающем блоке, я проверяю HTML-элемент toBeNull(), который должен быть нулевым, но на самом деле он уже определен из первого блока описания (потому что это тот же самый экземпляр пользователя).
Итак, теперь мой вопрос: есть ли способ открыть или повторно инициализировать окно браузера для второго блока описания, чтобы получить полный новый документ?
Можете ли вы уточнить, как это работает, чтобы полностью очистить DOM? Как я могу использовать afterAll для очистки? – user5638730
Я добавил фрагмент кода. Это в конечном счете использует метод 'remove()' jQuery, который гарантирует, что прослушиватели событий, добавленные с jQuery и все вещи '.data', будут очищены при удалении. – Louis
На самом деле, это не работает ... У меня есть предположение, почему: С помощью строки удаляется только элемент, но он все еще находится в DOM, не так ли? (потому что я добавил его в тело beofre). – user5638730