Содержание
Что такое Юнит?
JUnit — это простая, мощная среда с открытым исходным кодом для написания и запуска повторяемых тестов. Я люблю тесты JUnit. Во время разработки Java-проекта я широко использовал JUnit для покрытия кода . Это является примером архитектуры XUnit для модульного тестирования рамки .
Особенности JUnit включают в себя:
- Утверждения для тестирования ожидаемых результатов
- Тестовые приборы для обмена общими тестовыми данными
- Тест бегунов для запуска тестов
В этом уроке я расскажу о пунктах 1 и 3. В вашем проекте вам понадобятся зависимости от maven .
|
1
2
3
4
5
|
< зависимость >
< groupId > junit < / groupId >
< artifactId > junit < / artifactId >
< версия > 4.12 < / версия >
< / зависимость >
|
Давайте начнем писать код.
Шаг 1
Создать проект CrunchifyJunitTest и укажите пакет com.crunchify.junit , Вот структура пакета для быстрого ознакомления.
Шаг 2
Щелкните правой кнопкой мыши на CrunchifyJunitTest => Новый класс => CrunchifyJunitTest.java
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
пакет ком . crunchify. джунит ;
/ **
* @author Crunchify
*
* /
Импортировать статический орг. Junit . Утверждать . assertEquals ;
Импортировать орг. Junit . Тест ;
общественности учебный класс CrunchifyJunitTest {
@Тестовое задание
общественности недействительным testingCrunchifyAddition ( ) {
assertEquals ( «Вот тест для результата сложения :» , 30 , дополнение ( 27 , 3 ) ) ;
}
@Тестовое задание
общественности недействительным testingHelloWorld ( ) {
assertEquals ( «Вот тест для Hello World String:» , Привет + Мир , helloWorld ( ) ) ;
}
общественности ИНТ дополнение ( int х , ИНТ у ) {
вернуть Икс + у ;
}
общественности строка helloWorld ( ) {
строка Привет, мир знак равно Привет + + «Мир» ;
вернуть helloWorld ;
}
}
|
Шаг 3
Eclipse предложит и автоматически добавит org.junit.Test зависимость, когда вы набираете @Test .
Шаг 4
Чтобы проверить свой тест JUnit
- Щелкните правой кнопкой мыши на классе
- Нажмите на Run As
- Нажмите на
JUnit Test
Вы должны увидеть что-то вроде этого.
Шаг 5
Попробуйте изменить параметр ожидаемое значение параметра из 30 => 300 и из Hello World => Hello -- World и проверить снова.
|
1
2
3
4
5
6
7
8
9
|
@ Test
общественности недействительным testingCrunchifyAddition ( ) {
assertEquals ( «Вот тест для результата сложения :» , 300 , дополнение ( 27 , 3 ) ) ;
}
@ Test
общественности недействительным testingHelloWorld ( ) {
assertEquals ( «Вот тест для Hello World String:» , «Привет — Мир» , helloWorld ( ) ) ;
}
|
Шаг 6
Теперь давайте запустим тот же тест via other java программа Создайте CrunchifyRunnerJUnit.java
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
пакет ком . crunchify. джунит ;
Импортировать орг. Junit . бегун. JUnitCore ;
Импортировать орг. Junit . бегун. Результат ;
Импортировать орг. Junit . бегун. уведомление. Неудача ;
/ **
* @author Crunchify
*
* /
общественности учебный класс CrunchifyRunnerJUnit {
общественности статический недействительным main ( Строка [ ] аргументы ) {
Результат результат знак равно JUnitCore . runClasses ( CrunchifyJunitTest . class ) ;
за ( Ошибка отказа : результат. getFailures ( ) ) {
Система. вне. Println (. отказ ToString ());
}
если ( результат . wasSuccessful ( ) ) {
Система. вне. println ( «Оба теста успешно завершены …» ) ;
}
}
}
|
Шаг 7
Бежать CrunchifyRunnerJUnit.java как Java Application ,
Шаг 8
В случае 1st code (исправьте ожидаемый параметр), вы должны увидеть результат примерно так:
|
1
|
Оба теста успешно завершены . , ,
|
Шаг 9
В случае 2nd code (неверный ожидаемый параметр), вы должны увидеть что-то вроде этого:
|
1
2
|
testingCrunchifyAddition ( com . crunchify . junit . CrunchifyJunitTest ) : Вот тест для Сложение Результат: ожидается : < 300 > но было : < 30 >
testingHelloWorld ( com . crunchify . junit . CrunchifyJunitTest ) : Вот тест для Строка Hello World : ожидается : < Привет [ — ] Мир > но было : < Привет [ + ] Мир >
|
И все готово. Дайте мне знать, если у вас возникнут проблемы с запуском этого кода.
Доступные аннотации в тестовом примере JUnit:
аннотирование |
Описание |
|---|---|
| @Test public void method () | Аннотация @Test указывает, что метод является тестовым методом. |
| @ Перед общедоступным методом void () | Выполняет метод перед каждым тестом. Этот метод может подготовить тестовую среду (например, прочитать входные данные, инициализировать класс). |
| @ После публичного метода void () | Выполняет метод после каждого теста. Этот метод может очистить тестовую среду (например, удалить временные данные , восстановить настройки по умолчанию). |
| @BeforeClass публичный метод void () | Выполнит метод один раз, до начала всех тестов. Это может использоваться для выполнения трудоемких действий, например, для подключения к базе данных. |
| @AfterClass открытый метод void () | Выполняет метод один раз после завершения всех тестов. Это может использоваться для выполнения действий по очистке, например, для отключения от базы данных . |
| @Ignore | Будет игнорировать метод испытаний. Это полезно, когда базовый код был изменен, а контрольный пример еще не адаптирован. Или если время выполнения этого теста слишком длинное, чтобы его включить. |
| @Test (ожидается = Exception.class) | Сбой, если метод не генерирует именованное исключение. |
| @Test (тайм-аут = 100) | Сбой, если метод занимает более 100 миллисекунд . |
Доступные методы тестирования утверждений:
утверждение |
Описание |
|---|---|
| сбой (String) | Пусть метод провалится. Может использоваться для проверки того, что определенная часть кода не достигнута. Или иметь неудачный тест до того, как тестовый код будет реализован. |
| assertTrue (true) / assertTrue (false) | Всегда будет правдой / ложью. Может использоваться для предварительного определения результата теста, если тест еще не реализован. |
| assertTrue ([сообщение], логическое условие) | Проверяет, что булево условие верно. |
| assertsEquals ([String message], ожидается, актуально) | Проверяет, что два значения одинаковы. Примечание: для массивов ссылка проверяется не на содержание массивов. |
| assertsEquals ([Строковое сообщение], ожидаемый, фактический, допуск) | Проверьте, что значения с плавающей запятой или двойные совпадают. Допуск — это количество десятичных знаков, которые должны быть одинаковыми. |
| assertNull ([сообщение], объект) | Проверяет, что объект является нулевым. |
| assertNotNull ([сообщение], объект) | Проверяет, что объект не является нулевым. |
| assertSame ([String], ожидаемый, фактический) | Проверяет, что обе переменные ссылаются на один и тот же объект. |
| assertNotSame ([String], ожидаемый, фактический) | Проверяет, что обе переменные ссылаются на разные объекты. |
0.00 (0%) 0 votes















