
В этой статье показано, как мы можем запускать тесты 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.

Запустите свой конвейер, и в отчете о конвейерах вы сможете увидеть следующий тестовый отчет.

