В этом руководстве я шаг за шагом проведу вас через процесс настройки инфраструктуры тестирования Jasmine в среде Node JS. Мы представим Jasmine как среду тестирования, установим и настроим ее и напишем простые тесты, чтобы продемонстрировать процесс тестирования с помощью Jasmine.

Предпосылки

  • Узел: на вашем компьютере должен быть установлен узел, так как мы будем использовать его для установки Jasmine и запуска наших файлов.
  • Код ВС Я рекомендую использовать код Visual Studio в качестве редактора кода, но не стесняйтесь использовать любой редактор кода по вашему выбору.

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


Представляем Жасмин JS

Jasmine — это простая и популярная среда тестирования для тестирования приложений JavaScript. Из их официальная документация они описывают Жасмин как фреймворк для управляемого поведением JavaScript.

Ориентированность на поведение означает, что Jasmine поддерживает и продвигает развитие, ориентированное на поведение.

Развитие, управляемое поведением (BDD)

Разработка, управляемая поведением (BDD) — это практика тестирования, которая фокусируется на тестировании того, как приложение ведет себя, когда с ним взаимодействуют конечные пользователи. Идея состоит в том, чтобы описать, как должно вести себя приложение, на очень простом языке, ориентированном на пользователя/бизнес.

Разработка, основанная на поведении, была изобретена на основе разработки, основанной на тестах, которая способствует написанию тестов для вашего приложения, а затем написанию фактического кода, чтобы ваши тесты прошли.

Я не буду уделять много внимания этим концепциям, так как эта статья посвящена настройке Jasmine, но если вы хотите узнать о них больше, проверьте ресурсы, опубликованные в ссылках.

1. инициализация проекта узла

создайте новую папку, откройте ее в VS Code и запустите npm init -y это инициализирует новый проект узла и добавит package.json файл.

npm init -y
Войти в полноэкранный режим

Выйти из полноэкранного режима

пока ваш package.json должно выглядеть примерно так

файл package.json

2. Установите и настройте Жасмин

Выполните следующую команду, чтобы установить зависимость Jasmine

npm install --save-dev jasmine
Войти в полноэкранный режим

Выйти из полноэкранного режима

  • мы устанавливаем jasmine package как тот, который позволит нам писать тесты. мы устанавливаем его как зависимость для разработчиков, потому что вам нужно только тестирование в разработке

Запустите следующую команду, чтобы инициализировать Jasmine в вашем проекте.

npx jasmine init 
Войти в полноэкранный режим

Выйти из полноэкранного режима

  • Запустив эту команду spec должна быть создана папка и в ней будет еще одна папка с названием support который содержит jasmine.json файл, и это файл, который содержит конфигурацию Jasmine

По умолчанию jasmine.json будет выглядеть примерно так

{
  "spec_dir": "spec",
  "spec_files": [
    "**/*[sS]pec.?(m)js"
  ],
  "helpers": [
    "helpers/**/*.?(m)js"
  ],
  "env": {
    "stopSpecOnExpectationFailure": false,
    "random": true
  }
}
Войти в полноэкранный режим

Выйти из полноэкранного режима

Понимание этих конфигураций

  • "spec_dir": указывает каталог для поиска конфигураций и тестов для запуска Jasmine, в этом случае он установлен на spec (тот, который мы только что создали)
  • "spec_files": файл, который Jasmine будет искать при запуске тестов, в этом случае Jasmine запустит все файлы, которые .spec.js или соответствовать этому заявленному шаблону
  • "helpers": файлы, содержащие конфигурации, которые Jasmine будет включать при запуске тестов, в этом случае, если таковые имеются, он ожидает, что они будут в helpers папка
  • "env": указывает среду, в которой будет работать Jasmine.
  • "stopSpecOnExpectationFailure": будет ли он останавливать выполнение спецификации после первого отказа ожидания в ней, в этом случае установлено значение false.

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

3. Написание вашего первого теста
в папке спецификации создайте файл с именем index.spec.js и добавьте следующий код

describe('simple tests', () => {
  it('should find true to be true', () => {
    expect(true).toBe(true);
  });

  it('should find false to be different from true', () => {
    expect(false).not.toBe(true);
  });
});
Войти в полноэкранный режим

Выйти из полноэкранного режима

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

В реальном приложении вы будете писать тест, который фактически проверяет поведение приложения, и тесты, подобные приведенным выше, будут бесполезны.

4. Тестовый скрипт
в package.json в поле скрипты добавить "test" скрипт и установите значение "jasmine"

//... other code

"scripts": {
    "test": "jasmine"
  },
Войти в полноэкранный режим

Выйти из полноэкранного режима

когда ты бежишь npm test jasmine будет запущен и протестирует ваше приложение

текущий тест

Наши испытания проходят!

Вот и все, вот как вы настраиваете среду тестирования Jasmine в среде Node. ваше здоровье!

использованная литература