Что такое юнит тестирование?
Модульное тестирование, или юнит-тестирование (Unit testing) – методология тестирования, при которой определенные модули программы тестируются отдельно от остальных модулей. В основном, этот вид тестирования осуществляется разработчиками. Юнит (модуль) может быть представлен как класс или метод внутри класса, корректность работы которого следует протестировать отдельно. Этот вид тестирования также известен как Тестирование Белого Ящика (White Box Testing), так как разработчику доступен исходный код программы.
Что такое Junit?
Для выполнения юнит-тестирования в Java существует фреймворк под названием Junit. Он предоставляет нам следующие возможности:
- Базовые классы и Аннотации для написания юнит-тестов;
- Базовый класс для запсука тестов – TestRunner class;
- Поддержка классов и аннотаций для написания тест-сьютов – @RunWith(Suite.Class);
- Отчет результатов тестирования.
В нашем руководстве будут представлены следующие разделы:
- Загрузка библиотек
- Добавление Junit библиотек к проекту
- Определение и написание “тестируемого приложения” (application under test)
- Написание нашего первого простого Junit теста
В качестве среды разработки будем использовать программу Eclipse.
Шаг 1. Загрузка Junit бибилиотек
Для того, чтобы использовать Junit мы должны включить “hamcrest-core-1.3-sources.jar” и “junit-4.10.jar” файлы в наш проект. Эти файлы можно скачать по следующей ссылке https://github.com/junit-team/junit/wiki/Download-and-Install
Шаг 2. Добавление библиотек Junit в наш проект
Для установки Junit всего лишь потребуется добавить Junit бибилиотеки в наш проект. Для этого:
- Откройте Eclipse и создайте новый проект под названием – “JUnit Project”.
- Выберите Java Build Path в левой панели.
- Нажмите Add external Jars в правой панели.
- Укажите путь, где находятся скачанные jar файлы и добавьте все библиотеки (см. на процесс добавления в предудущем курсе).
Каким будет наше «тестируемое приложение» (application under test)?
Для выполнение юнит-тестирования мы должны иметь приложение (или программный код). Для начала рассмотрим наше приложение. Предположим, у нас есть небольшой Math класс, предоставляющий нам такие методы, как:
- Add
- Multiply
- Subtract
Эти методы будут соответственно – слаживать (add), умножать (multiply) и вычитать (subtract) два числа. Ниже представлена реализация этого класса.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public class MathProvider { public MathProvider(){} public int Substract(int firstNumber, int secondNumber) { return (firstNumber - secondNumber); } public int Add(int firstNumber, int secondNumber) { return (firstNumber + secondNumber); } public int Multiply(int firstNumber, int secondNumber) { return (firstNumber * secondNumber); } } |
Дальше мы будем проверять правильность выполнения операций и сами результаты. В созданном приложении создайте класс MathProvider и скопируйте в него этот код. Также создайте две директории:
– Application
– UnitTests
Поместите класс MathProvider в директорию Application. Это начальные настройки для будущего Junit framework.