Введение

Jasmine может быть мощной средой модульного тестирования JavaScript. Он обеспечивает чистый механизм тестирования синхронного и асинхронного кода JavaScript. Jasmine — это среда разработки, основанная на поведении, которая предлагает описательные тестовые примеры, в которых основное внимание уделяется бизнес-ценности, а не техническим деталям. Поскольку тесты Jasmine написаны на простом языке, их часто читают непрограммисты, и они могут предоставить прозрачное описание того, когда один тест прошел успешно или нет, а также причину его провала.

Это с открытым исходным кодом и легко доступны. У него почти 15 000 звезд на GitHub. Его популярность среди разработчиков означает, что это надежное сообщество и документация, доступная после того, как мы остановимся. Разработчики Angular особенно любят Jasmine, потому что Jasmine изначально включен в проекты Angular.

Описание

Несмотря на то, что преимущества автоматизированных тестов задокументированы, исправление любой новой тестовой среды часто вызывает недоумение и требует много времени. Понимание того, что проверять, также часто бывает сложным, если мы пишем JavaScript, язык, который находится где-то посередине между объектно-ориентированным и функциональным программированием.

Jasmine — это имитатор поведения пользователя, который позволяет нам выполнять тестовые сценарии почти так же, как поведение пользователя на веб-сайте. Это ценно для тестирования внешнего интерфейса на предмет видимости. Jasmine позволяет автоматизировать действия пользователей за счет задержек на таможне и времени ожидания, чтобы воссоздать реальное поведение пользователя.

Преимущества использования жасмина

К основным преимуществам использования жасмина относятся:

  • Меньшие накладные расходы благодаря почти полному отсутствию внешних зависимостей
  • Двигайтесь вперед с почти всеми необходимыми инструментами из коробки
  • Техническое обслуживание Frontend аналогично тестированию Backend
  • Кодирование очень похоже на письмо на языке
  • Широкая документация для использования со многими фреймворками.
  • Поддерживает асинхронное тестирование.
  • Использование Марком шпионов для применения тестовых двойников.
  • Помогает тестировать интерфейсный код. Это через внешнее расширение Jasmine под названием Jasmine-jQuery

Как настроить Жасмин?

Прежде чем приступить к настройке, давайте рассмотрим принципы исправления Jasmine. Это часто то, что мы делаем на высоком уровне:

  • Запустите код, чтобы получить Jasmine и загрузить его вручную или с помощью менеджера пакетов.
  • Инициализировать Жасмин
  • Создать спецификационный (тестовый) файл
  • Сделайте текстовый файл ASCII доступным для файла спецификации.
  • Тогда мы сможем протестировать. Сначала мы отрепетируем мелким шрифтом, как узнать Жасмин.

Скачать и узнать Жасмин

Мы загружаем и вручную размещаем в проекте, когда используем автономную версию Jasmine. Такой способ начала хорош, если мы просто хотим выяснить, как все это работает. Перейти, загрузив дистрибутив со страницы релизов Jasmine на Github.

Затем создайте замещающий каталог и создайте замещающий подкаталог с именем Jasmine.

  1. mkdir первый-жасмин-проект
  2. компакт-диск первый-жасмин-проект
  3. жасмин

Применение

Жасмин стремится быть легко читаемой. Простой тест hello world похож на приведенный ниже код, где description() описывает набор тестов, а it() — спецификацию частного теста. Название «it ()» следует идее разработки, основанной на поведении, и является основным словом в названии теста, которое должно быть целым предложением. Использование следует синтаксису почти как в RSpec.

Код ниже проверяет эту функцию

function helloWorld() {
 return 'Hello world!';
}
and confirms that its output is indeed the text "Hello world!".
describe('Hello world', function() {
 it('says hello', function() {
 expect(helloWorld()).toEqual('Hello world!');
 });
});

Jasmine предоставляет высококлассный набор встроенных сопоставителей. В приведенном выше примере toEqual проверяет равенство между значением, возвращаемым функцией helloWorld(), и, следовательно, строкой «Hello world!». Это часто эквивалентно утверждениям, используемым в других средах тестирования. Совпадения Jasmine просто возвращают логическое значение: true, если ожидание совпало (благодаря указанию, что тест пройден), или false, если ожидание не совпадает. Честная практика состоит в том, чтобы поместить одно ожидание в спецификацию частного теста it ( ).

Отличительный встроенный сопоставитель toThrow используется для подтверждения того, что было создано исключение. Приведенный ниже код доказывает, что возникает какое-то исключение.

describe ('Expect to throw an exception', function () {it('throws some exception', function () {
expect( function(){ throw('Some exception'); }).toThrow('Some exception');
 });
});

Jasmine имеет ряд других функций, таких как настраиваемые совпадения, шпионы и поддержка асинхронных спецификаций.

Жасмин тестировщики

Jasmine поставляется со встроенным средством запуска тестов. Тесты Jasmine могут запускать тесты браузера, включая простой файл SpecRunner.html[9] или используя его в качестве средства запуска тестов инструкций, поддерживаемого для различных языков, таких как Nodejs, Python, Ruby, или (по-старому) используя Karma, простой тест JavaScript. бегун инструмент.

Для получения более подробной информации посетите: https://www.technologiesinindustry4.com/javascript-jasmine-a-strong-unit-testing-framework/