1 of 6

Розробка тестів з використанням фреймворка Mocha

Лабораторна робота №7

2 of 6

Установка Mocha

  • Створіть проект mocha (або наступний за рахунком)
  • Встановіть фреймворк Mocha на рівні проекту
  • В package.json пропишіть команду для запуску тестів

3 of 6

Завдання 1.

Створіть функцію пошуку факторіала числа factorial. Створіть специфікацію та тести перевірки роботи функції. Перевірте виконання тестів:

  • Функція factorial повинна знаходитись в користувацькому модулі functions.js
  • Файл з тестами повинен іменуватись functions.test.js

n

factorial(n)

5

120

6

720

0

1

-5

null

-6

null

4 of 6

Завдання 2. Розробка тестів для REST-застосунку (TaskApp)

#

Тест

Результат проходження тесту

1

Реєстрація користувача User1 з помилкою валідації

Статус 401 та назва помилки

2

Реєстрація користувача User1 без помилок

Статус 200. Отриманий об'єкт user з властивістю _id

3

Реєстрація користувача User2 без помилок

Статус 200 і отриманий об'єкт user з ідентифікатором

Перед виконанням тестування відбувається очистка колекцій users і tasks;

5 of 6

4

Вхід під User1 з вірними даними

Статус 200 і отримане повідомлення success

5

Додавання задачі Task1

Статус 200 і отриманий об'єкт task з ідентифікатором

6

Додавання задачі Task2

Статус 200 і отриманий об'єкт task з ідентифікатором

7

Отримання задач користувача User1

Статус 200. Довжина 2

8

Отримуємо задачу Task1 по ідентифікатору

Статус 200. Об'єкт task з властивостями title і completed.

9

Вихід

Повідомлення "logout success"

10

Вхід під User2 з вірними даними

Статус 200 і отримане повідомлення success

11

Додавання задачі Task3

Статус 200 і отриманий об'єкт task з ідентифікатором

6 of 6

12

Отримання задач користувача User2

Статус 200. Довжина 1.

13

Отримуємо задачу Task1 по ідентифікатору

Статус 404. Повідомлення "Not Found"

14

Вихід

Статус 200. Повідомлення "logout success"

15

Отримуємо задачу Task1 по її ідентифікатору

Статус 403. Повідомлення "Forbidden Access"

В звіті після запуску тестування всі 15 тестів повинні бути пройдені