Модульное тестирование является одним из наиболее важных аспектов компьютерного программирования, однако его часто упускают из виду и недостаточно подробно изучают в школе. Давайте начнем с некоторых основ.

Что такое модульное тестирование?

Модульное тестирование — это метод тестирования программного обеспечения, с помощью которого тестируются отдельные блоки кода, чтобы определить, подходят ли они для использования.

Как писать модульные тесты?

Чтобы правильно понять разработку модульных тестов, разработчик должен изменить свое отношение к тому, как он пишет код. Приближаясь к новой реализации, которую они должны закодировать, они должны сначала написать модульный тест, убедиться, что он не работает, и написать код, чтобы пройти тест.

Например:

Вам дается задание написать функцию, которая возвращает квадратный корень из заданного числа. Во-первых, мы пишем тест того, что мы хотим, чтобы произошло.

it ("should return the exponent square of given number" , function(){  
     var result = powerOfTwo(6);
     expect(result).toEqual(36);
)};

Когда вы запустите этот тест, он завершится ошибкой, потому что у нас нет функции squareRoot. Следующий шаг — написать функцию и снова запустить тест, пока он не пройдет.

function powerOfTwo(a){  
    return a * a;   
}

Когда вы снова запустите тест, он будет пройден, и в этом суть разработки через тестирование. Сначала тестируйте, потом кодируйте.

Настройка среды

Чтобы начать тестирование, вам понадобятся две вещи: бегун и среда тестирования. Бенер отвечает за запуск браузера и запуск вашего кода в среде тестирования. В то время как среда тестирования отвечает за все утверждения и код, который тестирует ваше приложение.

Давайте начнем.

  • Скачать NodeJS
  • http://nodejs.org/
  • Перейдите в корневую папку вашего проекта в командной строке.
  • Установить карму и жасмин
npm install -g karma-cli
    npm install karma-jasmine
  • Установите веб-драйвер Chrome
npm install karma-chrome-launcher
  • После установки Karma создайте config.js, введя следующее
karma init

Это руководство поможет вам создать файл конфигурации кармы.

а. Какую среду тестирования вы хотите использовать? жасмин

b. Вы хотите использовать Require.js? нет

c. Вы хотите автоматически захватывать все браузеры? Хром

d. Где находятся исходный и тестовый файлы?

*js/*.js*
    *test/**/*.spec.js*

e. Следует ли исключить какой-либо из файлов, включенных в предыдущие шаблоны? Enter

f. Вы хотите, чтобы Karma просматривала все файлы и запускала тесты при изменении?true

Испытайте это!

  1. Создайте папку js и тестовую папку. У вас должна получиться следующая структура.
project-name  
         |
         ---js
               |  
               ---myFile.js
         ---test
               |
               |
              ---myFile.spec.js
               |
               |
         ---karma.conf.js

2. В файле myFile.spec.js скопируйте и вставьте следующий код:

describe("testing myFile", function() {  
         it ("should return the exponent square of given number", function() {
          var result = powerOfTwo(8);
          expect(result).toEqual(64);
     });
});

3. Управляйте кармой

karma start karma.conf.js

4. Тест не пройден, так как мы не написали функцию squareRoot.

5. В myFile.js скопируйте и вставьте следующий код.

function powerOfTwo(a){  
    return a * a;   
}

6. Запустите карму еще раз и тест пройдет.

В этом уроке мы коснулись самых основ модульного тестирования. Надеюсь, вам понравилось. Чтобы увидеть больше постов, пожалуйста, подпишитесь на меня.