Руководство по JUnit. Простой пример

В данной статье мы рассмотрим пример создания простого теста. Мы создадим простой Maven проект, а для интеграции фреймворка JUnit мы будем использовать внедрение зависимостей.

Для начала создадим новый проект:

junittutrialcreateproject1

 

junittutorialprojectgroupid

 

junittutorialprojectmavensettings

 

junittutorialprojectdirectory

После успешной сборки мы получим проект со следующей структурой:

junittutorialprojectstructure

 

Приступим к написанию тестов:
Создадим простой класс ArrayHolder, который будет содержать массив целых чисел:


package net.proselyte.tutorials;

import java.util.Arrays;

/**
 * This is simple class that contains array of integers
 *
 * @author Eugene Suleimanov
 * @version 1.0
 */
public class ArrayHolder {
    private int[] integers;

    public ArrayHolder() {
        this.integers = new int[]{1, 2, 3, 4, 5};
    }

    public int[] getIntegers() {
        return integers;
    }

    public void setIntegers(int[] integers) {
        this.integers = integers;
    }

    @Override
    public String toString() {
        return Arrays.toString(integers);
    }
}

По умолчанию создаётся экземпляр класса с массивом [1,2,3,4,5].
Создадим тестовый класс для проверки работы ArrayHolder – ArrayHolderTests:


package net.proselyte.tutorials;

import org.junit.Test;

import static org.junit.Assert.assertEquals;

/**
 * Test class for {@link ArrayHolder}
 *
 * @author Eugene Suleimanov
 * @version 1.0
 */

public class ArrayHolderTests {
    ArrayHolder arrayHolder = new ArrayHolder();

    @Test
    public void shouldCreateDefaultArrayTest() {
        assertEquals(arrayHolder.toString(), "[1, 2, 3, 4, 5]");
    }
}

Удалим классы, созданные по умолчанию и получим следующую структуру проекта:

junitsimpleexamplefinalstructure

В результате работы класса ArrayHolderTests мы получим следующий результат:

junitsimpleexampletestresult

 

В данном классе мы тестировали, что выводит метод toString() класса ArrayHolder. Метод assertEquals проверяет, идентичны ли заданное значение (правое) и значение, полученное в результате работы метода (левое).

На этом мы заканчиваем обзор первого простого примера.

В следующей статье мы рассмотрим архитектуру фреймворка JUnit.