Angular.js: Angular mocks больше не имитирует файлы cookie браузера

Созданный на 27 авг. 2015  ·  3Комментарии  ·  Источник: angular/angular.js

Недавно мы перешли на angular 1.4 и заметили, что некоторые тесты периодически терпят неудачу из-за состояния, которое остается между тестами в файлах cookie. Похоже, что насмешка над файлами cookie была удалена из угловых макетов в последних версиях. У меня есть пара рывков, чтобы проиллюстрировать это.

Здесь, в angular 1.3, cookie устанавливается в $cookieStore в одном тесте и не определяется в $cookieStore в последующих тестах:
http://plnkr.co/edit/WbRKACxBvJkHUmJwntN4?p=preview

Однако в angular 1.4 cookie по-прежнему устанавливается при последующих тестах, что приводит к сбою:
http://plnkr.co/edit/c6jpOmmSuufSYvQysdTQ?p=предварительный просмотр

Была ли эта функциональность удалена намеренно, и если да, то не могли бы вы сообщить мне, каков предполагаемый обходной путь?

ngCookies investigation

Самый полезный комментарий

Считает ли команда Angular, что никому не нужно тестировать настройку и получение файлов cookie с помощью ngCookies? Я был потрясен, обнаружив, что через год после выпуска 1.4 с этим все еще не разобрались.

Все 3 Комментарий

@shahata ты случайно не знаешь, в чем разница?

@Narretz В предыдущих версиях Angular $browser.cookies() полностью высмеивался с помощью ngMock , а запись файла cookie через $cookies записывалась на карту в памяти, а не в браузер. Мы обсуждали это в прошлом и рассматривали возможность добавления набора тестов, который подключается к новому механизму файлов cookie и предоставляет инструменты, которые проверяют, что файлы cookie записываются с правильными параметрами (это уже не просто значение файла cookie), но я не думаю, это очень критично.

@butchpeters Я думаю, что лучший способ сделать это — издеваться над $cookies в своем тесте:

module({$cookies: {
  store:{},
  put: function (key, value) { this.store[key] = value; },
  get: function (key) { return this.store[key]; }
}});

Вот исправленный плункер: http://plnkr.co/edit/LTQHDtDM5FOiTiXl2waT?p=preview

Считает ли команда Angular, что никому не нужно тестировать настройку и получение файлов cookie с помощью ngCookies? Я был потрясен, обнаружив, что через год после выпуска 1.4 с этим все еще не разобрались.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги