У развоју софтвера, тестирање јединица је процес који изолује и тестира наменске делове апликације. Јединице су формални израз за ове наменске секције. У вашој Јава апликацији, јединица је метода.

Постоји много оквира за тестирање јединица доступних за Јава програмере. Међу врхунским оквирима је ЈУнит 5.

Зашто је тестирање јединица важно?

Ако сте икада писали изјаве за отклањање грешака за штампање и проверу вредности променљиве, честитамо; направили сте јединични тест. Овај одељак кода за бацање је био неопходан јер нисте добијали жељени излаз.

Али шта ако добијате жељени излаз, а код и даље негде садржи грешку? Можете да примените апликацију и ова грешка би касније могла да доведе до кршења безбедности. За апликације које чувају податке корисника, улози су високи када дође до кршења безбедности.

Јединично тестирање циља сваки одељак ваше апликације – без обзира да ли тренутно изазива грешку или не. Стога, јединично тестирање игра значајну улогу у добра софтверска сигурност.

Шта је ЈУнит 5?

ЈУнит 5 је више од још једног оквира за тестирање јединица. Има неколико под-пројеката, а то су ЈУнит платформа, ЈУнит Јупитер и ЈУнит Винтаге. Свака од ове три компоненте има јединствене модуле који раде заједно на побољшању тестирања за Јава програмере.

ЈУнит 5 платформа је доступна у најновијим верзијама врхунских Јава интегрисаних развојних платформи (ИДЕ). Јава ИДЕ-ови који подржавају ЈУнит 5 су:

  • ИнтеллиЈ ИДЕА
  • Ецлипсе
  • НетБеанс
  • Висуал Студио Цоде

Прављење јединичних тестова помоћу ЈУнит 5

Овај пример програма користи ЈУнит 5 за креирање неколико јединичних тестова на једноставној апликацији калкулатора.

Класа калкулатора

пакет апликација;

јавностикласаКалкулатор{
јавностистатичнеинтдодати(инт број1, инт број 2){
повратак нум1 + нум2;
}

јавностистатичнеинтодузимати(инт број1, инт број 2){
повратак нум1 - нум2;
}

јавностистатичнеинтумножити(инт број1, инт број 2){
повратак број1 * број2;
}

јавностистатичнеинтподела(инт број1, инт број 2){
повратак нум1 / нум2;
}
}

Тхе Јава класа горе врши четири статичке операције: сабирање, одузимање, множење и дељење. Сваки метод узима два целобројна аргумента и враћа једну целобројну вредност.

Тест класе ЈУнит 5

пакет тест;

увозстатичне орг.јунит. Ассерт.*;
увоз апликација. Цалцулатор;
увозорг.јунит.Тест;

јавностикласаЦалцулаторТест{
@Тест
јавностипразнинатестАдд(){
ассертЕкуалс(7, Калкулатор.додати(3, 4));
}

@Тест
јавностипразнинатестСубтрацт(){
ассертЕкуалс(6, Калкулатор.одузми(9, 3));
}

@Тест
јавностипразнинатестМултипли(){
ассертЕкуалс(10, Калкулатор.умножити(5, 2));
}

@Тест
јавностипразнинатестДивиде(){
ассертЕкуалс(2, Калкулатор.подела(4, 2));
}
}

ЦалцулаторТест уводи два важна концепта: @Тест напомена и ассертЕкуалс() методом. Белешка @Тест означава да је метод који се налази непосредно испод ње тестни метод. У горњој тест класи постоје четири методе тестирања, по једна за сваку операцију калкулатора.

Све методе тестирања користе метод ассертЕкуалс(). Овај метод узима два обавезна аргумента и опциони трећи аргумент. Први аргумент дат горњој методи ассертЕкуалс() је очекивани резултат, а други аргумент је метода (или јединица) коју желите да процените.

Класа ЦалцулаторТест нема главни метод, али ЈУнит @Тест напомене чине сваку од метода тестирања извршном. Извршавање класе ЦалцулаторТест у ецлипсе производи следећи интерфејс:

Као што видите, сваки тест је успешан. Постоје четири теста, и сви су прошли без грешака и грешака.

Тестирање јединица за учење може да прошири ваше могућности за каријеру

Као програмер, знање како да тестирате софтвер је корисна вештина. То ће свакако побољшати ваш радни ток и, надамо се, учинити ваш код лакшим за коришћење другима. Међутим, постоји грана развоја софтвера која се фокусира искључиво на тестирање. Ови инжењери су познати као тестери софтвера.