Тестировать Vanilla JS с помощью Jest довольно просто. В этом посте мы создадим несколько тестовых примеров с использованием jest для Vanilla JS.

Первый шаг - инициализировать и создать файл package.json с помощью npm init:

$ npm init

Npm init проведет вас и автоматически создаст файл package.json.

Следующим шагом будет установка jest

$ npm install --save-dev jest

После установки jest нам нужно изменить файл package.json и разместить собственный сценарий, который будет запускать набор тестов с использованием jest. Откройте файл package.json и добавьте

"scripts": {
   "test": "jest"
 }

Теперь вы можете проверить, все ли установлено правильно, с помощью команды

$ npm test

Если все было настроено правильно, должен получиться следующий результат.

Теперь давайте создадим образец класса с именем Person для тестирования.

// person.js
class Person {
  constructor(firstName, lastName) {
    this.firstName = firstName
    this.lastName = lastName
  }
fullName() {
    return this.firstName + ' ' + this.lastName
  }
}
module.exports = Person;

Затем давайте создадим тестовые файлы. Как вы можете видеть в командной строке выше, когда мы запускали npm jest, он проверял наличие тестовых файлов. В частности, он ищет формат файла с таким именем, как person.test.js. Итак, давайте создадим тестовый файл

// person.test.js
const Person = require('./person');
test('Person constructs with a first and last name', () => {
  let testPerson = new Person('John', 'Doe')
  expect(testPerson).toEqual({firstName: 'John', lastName: 'Doe'});
});
test('fullName returns Person instance full name', () => {
  let testPerson = new Person('John', 'Doe')
  expect(testPerson.fullName()).toBe('John Doe');
});

Анализируя тестовый файл, сначала импортируется класс Person, который изначально был экспортирован из файла person.js. Далее мы создаем тестовые примеры. Полную документацию по тестовым случаям можно найти ниже:



Наконец, давайте протестируем наш файл и убедимся, что все работает правильно, запустив npm test.