Как легко догадаться из названия, Unit-тестирование — это тестирование отдельных единиц (англ. unit) кода. Под единицей подразумевается небольшая изолированная часть кода, выполняющая конкретную функцию. В сегодняшней статье мы посмотрим о том, как тестировать при помощи Jasmine различные сущности фрэймворка AngularJS. Каждая из них имеет свою специфику, поэтому нужно знать определённые шаблоны, правила и рекомендации, чтобы…
Заглушки для HTTP-сервера в AngularJS-приложении
Сегодня мы поговорим про заглушки в AngularJS-приложениях. Именно в приложениях, а не в тестах! Очень часто при разработке клиентской части приложения приходится реализовывать новую функциональность, не имея при этом рабочей функциональности на серверной стороне. А ещё иногда возникает потребность показать заказчику прототип приложения, не реализовывая при этом API для экономии времени. Когда-то я делал для…
when и expect в сервисе $httpBackend
Сегодня поговорим о unit-тестировании AngularJS-сервисов, которые предоставляют интерфейс для обмена данными с сервером, а если быть точнее, то мы рассмотрим один нюанс — отличие expect’ов от when’ов при работе с $httpBackend‘ом из модуля ngMock. Но давайте будем последовательны и начнём с начала. Встроенный AngularJS-сервис $http делегирует всю работу по обеспечению кроссбраузерности в работе с XMLHttpRequest…
Порядок HTML-атрибутов
Очень часто при написании разметки у элементов встречается несколько (если не много) HTML-атрибутов. Чтобы как-то навести порядок среди них, можно воспользоваться простой хорошей практикой — указывать атрибут в соответствии с его приоритетом из следующего списка: class id name data-* src, for, type, href, value title alt role, aria-* Классы указывают для повторно используемых компонентов, поэтому…
Что такое $apply и $digest в AngularJS?
В AngularJS есть два основополагающих понятия, которые многие недопонимают и путают, — $apply и $digest. Чтобы прояснить, как фрэймворк работает, каждый должен понимать, что из себя представляют $apply и $digest, и как они могут помочь AngularJS-разработчику в ежедневной разработке пользовательских интерфейсов. Исследование $apply и $digest Одной из самых полезных возможностей AngularJS из коробки является двустороннее…
Наследование в AngularJS
Привет! Сегодня мы поговорим о наследовании в AngularJS. Поскольку в нами любимом фрэймворке нет встроенного механизма наследования, в этой статье мы с вами посмотрим, как при помощи паттернов наследования JavaScript организовать наследование в компонентах AngularJS. Наследование контроллеров Для начала давайте рассмотрим, как это работает в контроллерах. На самом деле, наследование одного контроллера от другого (за…
Общение директив между собой в AngularJS
И снова привет! Сегодня мы поговорим о такой опции директив, как require. Понимание данного функционала AngularJS не входит в базовый уровень знаний, который требуется для разработки простых приложений, поэтому у многих вызывает кучу вопросов. Очень часто при написании директив возникает необходимость в их взаимодействии, общении, чтоб одна из них могла, например, вызвать метод добавления нового…