Метка «jasmine»

Многие JavaScript-фреймворки предлагают свое представление о том, как должен выглядеть код. Более того, речь идет не просто о стиле, речь идет о способе написания сценариев. Это обусловлено практически абсолютной демократичностью JavaScript, да-да, именно таким является мультипарадигменный язык с С-подобным синтаксисом, прототипным наследованием, динамической типизацией и реализацией разнящейся от браузера к браузеру. Поэтому, когда речь идет о test-driven JavaScript я понимаю, что речь идет не просто об особом стиле программирования, но об особых технических принципах для особого фреймворка позволяющего тестировать JS приложения.

В этой статье я буду спорить сам с собой что же из себя представляет тестопригодный JavaScript-код и в какую цену он обойдется, ежели его начать использовать.

Внимание: длиннопост.
Читать полностью »

В промежутке времени между переквалификацией с Back-end программиста на Front-end, мне пришлось иногда код для RoR приложения (да-да и тесты были). Интересным для меня показалась своеобразная атмосфера сообщества рубистов, которые очень строго относятся к написанию кода и если ты пишешь плохой код, то тебе могут поломать пальцы не простить. Ведь код должен быть максимально простым и читабельным.

Это же правило применимо и к тестам (как по мне то, они должны быть на порядок проще чем сам код). В дополнение, в тестах есть свое золотое правило — One Expectation per Test. Не нужно писать кучу expect/assert/should вызовов в одном тесте, просто перестаньте это делать! И не забывайте, что тесты это тоже код, а copy-paste — плохая практика.
Читать полностью »

Jasmine — дополнительные возможностиДанная статья является продолжением первой части «Введение в Jasmine». Здесь рассматриваются дополнительные возможности тестового фреймворка Jasmine, а именно:

  • Spy — эмуляция функций/объектов
  • Clock — синхронизация вызовов при использовании setTimeout/setInterval
  • Runner и Reporter — запуск тестов и оформление отчета

Читать полностью »

в 11:21, , рубрики: bdd, jasmine, javascript, метки: , ,

Введение в Jasmine
Программирование на стороне клиента давно стало нормой, а объем JavaScript кода и его сложность постоянно растут. Часто тестирование применяется только на серверной стороне, но при этом не стоит забывать о тестировании клиентского кода. Для тестирования JavaScript как на стороне клиента, так и для Node.js можно с успехом применять Jasmine.

Jasmine это BDD фреймворк (Behavior-Driven Development — Разработка на Основе Поведений) для тестирования JavaScript кода, позаимствовавший многие черты из RSpec.

Читать полностью »

Федя Шумов и Арсений Заречнев, фронт-енд разработчики из команды Островка, рассказали о
«Всей соли одностраничных приложений» на 404fest в Самаре.

Содержание доклада:

Видеозапись доклада «Вся соль одностраничных приложений» с 404fest
Читать полностью »

Русские в чате Думаю, на Хабре нет человека, который бы не пользовался мессенджерами хоть раз. А у ж скорее всего — ежедневно. Мы пользуемся IM-клиентами на десктопах, мы пользуемся ими и на мобильных телефонах. Телефоны уже сменились раз десять, а мы по-прежнему выходим в онлайн и слышим тук-тук-тук, о-оу и звуки уведомлений от более современных протоколов типа Jabber. А знаете ли вы, кто делает ваши любимые джаббер-клиенты?
Мессенжеры меняются — появляются новые, забрасываются и исчезают старые, но одно остаётся неизменным: русские в деле. Именно тому, кто из наших соотечественникоов развивает IM, и посвящается эта статья.
Особенно приятно встречать засланцев и в зарубежных компаниях:)
Читать полностью »

Если вы пишете на javascript и покрываете код юнит-тестами, то, вполне вероятно, вам будет интересно насколько хорошо он покрыт. А если в проекте используется Maven, то хочется получать эту информацию при каждой сборке.

Итак, Saga — анализатор покрытия кода со вкусностями:

  • работает с большинством тест-фреймворков
  • консольная версия
  • maven-плагин версия (на официальном централе)
  • красивые и удобные отчёты

Saga: проверяем покрытие кода тестами

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js