В этой статье показано, как мы можем запускать тесты Mocha Chai в Gitlab CI Pipeline. В этой статье я шаг за шагом пройдусь по всем этапам, начиная с настройки тестового проекта и конвейера. Перед этим было бы здорово начать с лучшего понимания Mocha, Chai и Gitlab.
Что такое Мокко Чай?
В тестировании программного обеспечения Mocha и Chai на самом деле являются двумя отдельными средами тестирования для JavaScript. Mocha — это среда тестирования JavaScript, которая предоставляет структуру для организации и запуска тестов, а Chai — это библиотека утверждений, предоставляющая набор функций для написания более выразительных и понятных утверждений.
Mocha и Chai можно использовать для создания и запуска автоматических тестов кода JavaScript. Mocha предоставляет основу для написания и организации наборов тестов, а Chai предоставляет функции для проверки поведения тестируемого кода.
Что такое Гитлаб?
GitLab — это веб-менеджер репозитория Git, который обеспечивает управление исходным кодом, непрерывную интеграцию и развертывание, отслеживание проблем и многое другое. Это полная платформа DevOps, которая позволяет разработчикам совместно работать над кодом, тестировать и развертывать приложения, а также отслеживать их производительность.
GitLab построен на основе Git, распределенной системы контроля версий, которая позволяет разработчикам управлять и отслеживать изменения в своем коде с течением времени. GitLab предоставляет веб-интерфейс, который позволяет разработчикам легко работать с Git и сотрудничать с другими членами команды.
Некоторые из функций, предоставляемых GitLab, включают в себя:
- Управление репозиторием Git с поддержкой ветвления, слияния и управления версиями
- Инструменты отслеживания проблем и управления проектами
- Непрерывные конвейеры интеграции и развертывания
- Инструменты для проверки кода и совместной работы
- Инструменты мониторинга и аналитики для отслеживания производительности и использования приложений
GitLab можно установить локально или использовать как облачный сервис, он доступен как в бесплатной, так и в платной версиях, причем платные версии предоставляют дополнительные функции и поддержку.
Предпосылки
- Аккаунт Gitlab
- Node.js загружен и установлен. Ссылка: ссылка
Настройка теста мокко-чай
1. Создайте новую папку для вашего нового проекта. В новой папке с помощью терминала установите зависимости для Mocha, Chai и Mocha Junit Reporter.
npm install mocha chai mocha-junit-reporter --save-dev
2. Создайте простой тестовый файл, например, с именем basicOperation.spec.js.
const assert = require('assert'); describe('Mathematical Operations - Test Suite', function() { this.timeout(500); const a = 20; const b = 10; it('Addition of two variables', function(done) { this.timeout(300); setTimeout(done,100); const c = a+b; assert.equal(c,30); }); it('Substraction of two variables', function() { const c = a-b; assert.equal(c,10); }); it('Multiplication of two variables', function() { const c = a*b; assert.equal(c,200); }); it('Division of two variables', function() { const c = a/b; assert.equal(c,2); }); });
В файле package.json добавьте следующие конфигурации:
{ "scripts": { "test": "mocha '**/*.spec.js' --reporter mocha-junit-reporter --reporter-options mochaFile=junit.xml" }, "devDependencies": { "chai": "^4.3.7", "mocha": "^10.2.0", "mocha-junit-reporter": "^2.2.0" } }
Настройка конвейера
Создайте файл с именем .gitlab-ci.yml и настройте этапы тестирования. Следующая конфигурация позволит вам использовать средство запуска Gitlab по умолчанию и сохранить отчет junit.xml в качестве артефакта конвейера.
image: node:latest cache: paths: - node_modules/ stages: - test test: stage: test script: - npm install - npm test artifacts: when: always reports: junit: - junit.xml
Вставьте свой проект в проект Gitlab. Каталог вашего тестового проекта будет выглядеть примерно так, как только все будет настроено. Название проекта в этом примере называется mocha-basic.
Запустите свой конвейер, и в отчете о конвейерах вы сможете увидеть следующий тестовый отчет.