В этом руководстве я проведу вас шаг за шагом через процесс установки фреймворка тестирования Jasmine в среде Node JS. Мы представим Jasmine как фреймворк для тестирования, установим и настроим его и напишем простые тесты, чтобы продемонстрировать процесс тестирования с помощью Jasmine.
Предварительные условия
- Node: На вашей машине должен быть установлен node, так как мы будем использовать его для установки Jasmine и запуска наших файлов.
- VS Code Я рекомендую использовать Visual studio code в качестве редактора кода, но вы можете использовать любой редактор кода на ваш выбор.
Мы рассмотрим все концепции шаг за шагом, но я предполагаю, что у вас есть основы работы с JavaScript и Node приложениями.
Знакомство с Jasmine JS
Jasmine — это простой и популярный фреймворк для тестирования JavaScript-приложений. В своей официальной документации они описывают Jasmine как фреймворк для поведенческого JavaScript.
То, что Jasmine ориентирован на поведение, означает, что он поддерживает и продвигает разработку, ориентированную на поведение.
Поведенчески ориентированная разработка (BDD)
Поведенческая разработка (BDD) — это практика тестирования, которая фокусируется на тестировании поведения приложения при взаимодействии с ним конечных пользователей. Идея заключается в том, чтобы описать, как должно вести себя приложение на очень простом языке, ориентированном на пользователя/бизнес.
Поведенчески ориентированная разработка была изобретена из Test driven Development, которая поощряет написание тестов для вашего приложения, а затем написание фактического кода, чтобы ваши тесты прошли.
Я не буду подробно останавливаться на этих концепциях, поскольку эта статья посвящена только настройке Jasmine, но если вы хотите узнать о них больше, посмотрите ресурсы, приведенные в ссылках
1. инициализация проекта node
Создайте новую папку, откройте ее в VS Code и запустите npm init -y
это инициализирует новый проект node и добавит файл package.json
.
npm init -y
на данный момент ваш package.json
должен выглядеть примерно так
2. Установите и настройте Jasmine
Выполните следующую команду для установки зависимости Jasmine
npm install --save-dev jasmine
- Мы устанавливаем пакет
jasmine
как тот, который позволит нам писать тесты. Мы устанавливаем его как зависимость dev, потому что тестирование нужно только в разработке.
Выполните следующую команду для инициализации 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
}
}
Понимание этих конфигураций
Вы можете настроить эти конфигурации в соответствии с потребностями вашего проекта, и вы можете найти больше конфигураций в официальных документах Здесь для простоты я оставлю все как есть
3. Написание первого теста
В папке spec создайте файл 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
в поле scripts добавьте скрипт "test"
и установите значение "jasmine"
.
//... other code
"scripts": {
"test": "jasmine"
},
при запуске npm test
будет запущен jasmine, который протестирует ваше приложение.
Наши тесты пройдены!
Вот и все, вот как настроить фреймворк тестирования Jasmine в среде Node. будьте здоровы!
Ссылки
- Код, упомянутый в статье
- Поведенчески ориентированная разработка
- Разработка, управляемая тестами
- Конфигурации Jasmine
- Документация по Jasmine
- Ваш первый набор Jasmine