Меню

Базовое знакомство с Unit тестированием

25.06.2018 - java script, NodeJS, ЯП

Unit tests

Что такое unit?

Это индивидуальная часть вашего приложения. Может быть функцией, классом или модулем.

Какая выгода от использования юнит тестов.

Посмотрим просто пример. Создадим простую функцию

//avg-calculator.js
function calculateAvg(numbers) {

    if (numbers == null) {
        throw new Error("Invalid Input");
    }

    let sum = 0;
    numbers.forEach(num => {
        sum += num;
    });
    return sum / (numbers.length);
}

module.exports = {
    calculateAvg
};

Теперь создадим файл для тестов, где будет храниться логика. Импортируем туда нашу функцию. Помните, что это юнит тесты. В нашем случае мы тестируем функцию. Для каждой функции или класса будет нужен свой отдельный файл. Теперь для теста создадим массив с цифрами. Затем вызовем функцию нашу и передадим ей наши числа. По сути мы знаем ответ. Поэтому проверим его самым простым стэйтментом. Теперь проверим, что будет если передать что нибудь не валидное.

//avg-calculator-test.js
const {
    calculateAvg
} = require('./avg-calculator');

let testNumbers = [4, 5, 7] ж
let avg = calculateAvg(testNumbers);
if (avg == 4) {
    console.log("Test passed!");
} else {
    console.log("Test Failed");
}

try {
    avg = calculateAvg(null);
} catch (err) {
    if (err == "Error: Invalid Input") {
        console.log("Test 2 Passed");
    } else {
        console.log("Test 2 Failed");
    }
}
Метки: , , , ,

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *