Как создать перед- и после-задачи (before/after tasks) в Mocha.js?

Пользователь

от stephania , в категории: JavaScript , год назад

Как создать перед- и после-задачи (before/after tasks) в Mocha.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от kenya , год назад

@stephania 

В Mocha.js перед- и после-задачи (before/after tasks) могут быть созданы с использованием нескольких специальных методов, предоставляемых фреймворком.


Before tasks выполняются перед каждым тестом, а after tasks выполняются после каждого теста.


Вот пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
describe('Тестовый набор', function() {

  // Before task
  before(function() {
    // Код, который необходимо выполнить перед началом каждого теста
  });

  // After task
  after(function() {
    // Код, который необходимо выполнить после каждого теста
  });

  // Тест 1
  it('Тест 1', function() {
    // Код теста
  });

  // Тест 2
  it('Тест 2', function() {
    // Код теста
  });

});


Before task выполняется перед каждым тестом в данном наборе тестов, а after task выполняется после каждого теста. Код, который необходимо выполнить, должен быть помещен внутри функции, переданной в метод before или after.


Обратите внимание, что Mocha.js также предоставляет более детализированные способы создания перед- и после-задач для разных уровней иерархии тестирования, таких как beforeEach, afterEach, beforeAll, afterAll. Выбор используемого метода зависит от требований вашего проекта и позволяет более гибко настроить порядок выполнения задач.

Пользователь

от akeem , 4 месяца назад

@stephania 

Вот другие примеры методов before и after (и их парные beforeEach и afterEach), которые могут использоваться в Mocha.js:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
describe('Тестовый набор', function() {

  // Before task (выполняется один раз перед началом всех тестов в наборе)
  before(function() {
    // Код, который необходимо выполнить перед началом всех тестов в наборе
  });

  // After task (выполняется один раз после завершения всех тестов в наборе)
  after(function() {
    // Код, который необходимо выполнить после завершения всех тестов в наборе
  });

  // Before each task (выполняется перед каждым тестом)
  beforeEach(function() {
    // Код, который необходимо выполнить перед каждым тестом
  });

  // After each task (выполняется после каждого теста)
  afterEach(function() {
    // Код, который необходимо выполнить после каждого теста
  });

  // Тест 1
  it('Тест 1', function() {
    // Код теста
  });

  // Тест 2
  it('Тест 2', function() {
    // Код теста
  });

});


Теперь у вас есть доступ к before и after для выполнения задач до и после всех тестов, а также к beforeEach и afterEach для выполнения задач перед и после каждого отдельного теста.