Самый важный пакет в JUnit — это junit.framework , который содержит все основные классы. Некоторые из важных классов следующие:
Sr.No. | Имя класса | функциональность |
---|---|---|
1 | утверждать | Набор методов assert. |
2 | Прецедент | Тестовый пример определяет прибор для запуска нескольких тестов. |
3 | Результат испытаний | TestResult собирает результаты выполнения контрольного примера. |
4 | Тестирование | TestSuite — это набор тестов. |
Assert Class
Ниже приводится объявление для класса org.junit.Assert —
public class Assert extends java.lang.Object
Этот класс предоставляет набор методов утверждения, полезных для написания тестов. Только ошибочные утверждения записываются. Вот некоторые из важных методов класса Assert:
Sr.No. | Методы и описание |
---|---|
1 |
void assertEquals (логическое ожидание, логическое фактическое) Проверяет, что два примитива / объекта равны. |
2 |
void assertFalse (логическое условие) Проверяет, что условие ложно. |
3 |
void assertNotNull (Объектный объект) Проверяет, что объект не является нулевым. |
4 |
void assertNull (Объектный объект) Проверяет, что объект является нулевым. |
5 |
void assertTrue (логическое условие) Проверяет, что условие верно. |
6 |
void fail () Сбой теста без сообщения. |
void assertEquals (логическое ожидание, логическое фактическое)
Проверяет, что два примитива / объекта равны.
void assertFalse (логическое условие)
Проверяет, что условие ложно.
void assertNotNull (Объектный объект)
Проверяет, что объект не является нулевым.
void assertNull (Объектный объект)
Проверяет, что объект является нулевым.
void assertTrue (логическое условие)
Проверяет, что условие верно.
void fail ()
Сбой теста без сообщения.
Давайте использовать некоторые из вышеупомянутых методов в примере. Создайте файл класса Java с именем TestJunit1.java в C: \> JUNIT_WORKSPACE .
import org.junit.Test; import static org.junit.Assert.*; public class TestJunit1 { @Test public void testAdd() { //test data int num = 5; String temp = null; String str = "Junit is working fine"; //check for equality assertEquals("Junit is working fine", str); //check for false condition assertFalse(num > 6); //check for not null value assertNotNull(temp); } }
Затем создайте файл класса java с именем TestRunner1.java в C: \> JUNIT_WORKSPACE для выполнения тестовых примеров.
import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner1 { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestJunit1.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
Скомпилируйте тестовый набор и классы Runner, используя javac.
C:\JUNIT_WORKSPACE>javac TestJunit1.java TestRunner1.java
Теперь запустите Test Runner, который запустит тестовый набор, определенный в предоставленном классе Test Case.
C:\JUNIT_WORKSPACE>java TestRunner1
Проверьте вывод.
true
TestCase Class
Ниже приводится объявление для класса org.junit.TestCase —
public abstract class TestCase extends Assert implements Test
Тестовый пример определяет прибор для запуска нескольких тестов. Вот некоторые из важных методов класса TestCase :
Sr.No. | Методы и описание |
---|---|
1 |
int countTestCases () Подсчитывает количество тестов, выполненных при запуске (результат TestResult). |
2 |
TestResult createResult () Создает объект TestResult по умолчанию. |
3 |
Строка getName () Получает имя TestCase. |
4 |
TestResult run () Удобный метод для запуска этого теста, собирающий результаты с помощью объекта TestResult по умолчанию. |
5 |
void run (результат TestResult) Запускает контрольный пример и собирает результаты в TestResult. |
6 |
void setName (String name) Устанавливает имя TestCase. |
7 |
void setUp () Настраивает прибор, например, открывает сетевое соединение. |
8 |
void tearDown () Срывает прибор, например, закрывает сетевое соединение. |
9 |
Строка toString () Возвращает строковое представление контрольного примера. |
int countTestCases ()
Подсчитывает количество тестов, выполненных при запуске (результат TestResult).
TestResult createResult ()
Создает объект TestResult по умолчанию.
Строка getName ()
Получает имя TestCase.
TestResult run ()
Удобный метод для запуска этого теста, собирающий результаты с помощью объекта TestResult по умолчанию.
void run (результат TestResult)
Запускает контрольный пример и собирает результаты в TestResult.
void setName (String name)
Устанавливает имя TestCase.
void setUp ()
Настраивает прибор, например, открывает сетевое соединение.
void tearDown ()
Срывает прибор, например, закрывает сетевое соединение.
Строка toString ()
Возвращает строковое представление контрольного примера.
Давайте использовать некоторые из вышеупомянутых методов в примере. Создайте файл класса Java с именем TestJunit2.java в C: \> JUNIT_WORKSPACE.
import junit.framework.TestCase; import org.junit.Before; import org.junit.Test; public class TestJunit2 extends TestCase { protected double fValue1; protected double fValue2; @Before public void setUp() { fValue1 = 2.0; fValue2 = 3.0; } @Test public void testAdd() { //count the number of test cases System.out.println("No of Test Case = "+ this.countTestCases()); //test getName String name = this.getName(); System.out.println("Test Case Name = "+ name); //test setName this.setName("testNewAdd"); String newName = this.getName(); System.out.println("Updated Test Case Name = "+ newName); } //tearDown used to close the connection or clean up activities public void tearDown( ) { } }
Затем создайте файл класса Java с именем TestRunner2.java в C: \> JUNIT_WORKSPACE для выполнения тестовых примеров.
import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner2 { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestJunit2.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
Скомпилируйте тестовый набор и классы Runner, используя javac.
C:\JUNIT_WORKSPACE>javac TestJunit2.java TestRunner2.java
Теперь запустите Test Runner, который запустит тестовый набор, определенный в предоставленном классе Test Case.
C:\JUNIT_WORKSPACE>java TestRunner2
Проверьте вывод.
No of Test Case = 1 Test Case Name = testAdd Updated Test Case Name = testNewAdd true
TestResult Class
Ниже приводится объявление для класса org.junit.TestResult.
public class TestResult extends Object
TestResult собирает результаты выполнения контрольного примера. Это экземпляр шаблона Collecting Parameter. Тестовая структура различает сбои и ошибки. Ожидается сбой и проверяется с помощью утверждений. Ошибки — это непредвиденные проблемы, такие как ArrayIndexOutOfBoundsException. Вот некоторые из важных методов класса TestResult :
Sr.No. | Методы и описание |
---|---|
1 |
void addError (Тестовый тест, Throwable t) Добавляет ошибку в список ошибок. |
2 |
void addFailure (Тестовый тест, AssertionFailedError t) Добавляет ошибку в список ошибок. |
3 |
void endTest (Тестовый тест) Сообщает результат, что тест был завершен. |
4 |
int errorCount () Получает количество обнаруженных ошибок. |
5 |
Перечисление <TestFailure> ошибки () Возвращает перечисление для ошибок. |
6 |
int failCount () Получает количество обнаруженных сбоев. |
7 |
void run (тестовый тест) Запускает TestCase. |
8 |
int runCount () Получает количество выполненных тестов. |
9 |
void startTest (Тестовый тест) Сообщает результат, что тест будет запущен. |
10 |
остановка () Отмечает, что тестовый прогон должен быть остановлен. |
void addError (Тестовый тест, Throwable t)
Добавляет ошибку в список ошибок.
void addFailure (Тестовый тест, AssertionFailedError t)
Добавляет ошибку в список ошибок.
void endTest (Тестовый тест)
Сообщает результат, что тест был завершен.
int errorCount ()
Получает количество обнаруженных ошибок.
Перечисление <TestFailure> ошибки ()
Возвращает перечисление для ошибок.
int failCount ()
Получает количество обнаруженных сбоев.
void run (тестовый тест)
Запускает TestCase.
int runCount ()
Получает количество выполненных тестов.
void startTest (Тестовый тест)
Сообщает результат, что тест будет запущен.
остановка ()
Отмечает, что тестовый прогон должен быть остановлен.
Создайте файл класса Java с именем TestJunit3.java в C: \> JUNIT_WORKSPACE.
import org.junit.Test; import junit.framework.AssertionFailedError; import junit.framework.TestResult; public class TestJunit3 extends TestResult { // add the error public synchronized void addError(Test test, Throwable t) { super.addError((junit.framework.Test) test, t); } // add the failure public synchronized void addFailure(Test test, AssertionFailedError t) { super.addFailure((junit.framework.Test) test, t); } @Test public void testAdd() { // add any test } // Marks that the test run should stop. public synchronized void stop() { //stop the test here } }
Затем создайте файл класса Java с именем TestRunner3.java в C: \> JUNIT_WORKSPACE для выполнения тестовых примеров.
import org.junit.runner.JUnitCore; import org.junit.runner.Result; import org.junit.runner.notification.Failure; public class TestRunner3 { public static void main(String[] args) { Result result = JUnitCore.runClasses(TestJunit3.class); for (Failure failure : result.getFailures()) { System.out.println(failure.toString()); } System.out.println(result.wasSuccessful()); } }
Скомпилируйте тестовый набор и классы Runner, используя javac.
C:\JUNIT_WORKSPACE>javac TestJunit3.java TestRunner3.java
Теперь запустите Test Runner, который запустит тестовый набор, определенный в предоставленном классе Test Case.
C:\JUNIT_WORKSPACE>java TestRunner3
Проверьте вывод.
true
TestSuite Class
Ниже приводится объявление для класса org.junit.TestSuite :
public class TestSuite extends Object implements Test
TestSuite — это совокупность тестов. Он запускает коллекцию тестовых случаев. Вот некоторые из важных методов класса TestSuite :
Sr.No. | Методы и описание |
---|---|
1 |
void addTest (Тестовый тест) Добавляет тест в комплект. |
2 |
void addTestSuite (Class <? extends TestCase> testClass) Добавляет тесты из данного класса в комплект. |
3 |
int countTestCases () Подсчитывает количество тестов, которые будут выполнены этим тестом. |
4 |
Строка getName () Возвращает название сюиты. |
5 |
void run (результат TestResult) Запускает тесты и собирает их результаты в TestResult. |
6 |
void setName (String name) Устанавливает название сюиты. |
7 |
Test testAt (int index) Возвращает тест по заданному индексу. |
8 |
int testCount () Возвращает количество тестов в этом наборе. |
9 |
статическое тестовое предупреждение (строковое сообщение) Возвращает тест, который не пройден, и регистрирует предупреждающее сообщение. |
void addTest (Тестовый тест)
Добавляет тест в комплект.
void addTestSuite (Class <? extends TestCase> testClass)
Добавляет тесты из данного класса в комплект.
int countTestCases ()
Подсчитывает количество тестов, которые будут выполнены этим тестом.
Строка getName ()
Возвращает название сюиты.
void run (результат TestResult)
Запускает тесты и собирает их результаты в TestResult.
void setName (String name)
Устанавливает название сюиты.
Test testAt (int index)
Возвращает тест по заданному индексу.
int testCount ()
Возвращает количество тестов в этом наборе.
статическое тестовое предупреждение (строковое сообщение)
Возвращает тест, который не пройден, и регистрирует предупреждающее сообщение.
Создайте файл класса Java с именем JunitTestSuite.java в C: \> JUNIT_WORKSPACE, чтобы создать набор тестов.
import junit.framework.*; public class JunitTestSuite { public static void main(String[] a) { // add the test's in the suite TestSuite suite = new TestSuite(TestJunit1.class, TestJunit2.class, TestJunit3.class ); TestResult result = new TestResult(); suite.run(result); System.out.println("Number of test cases = " + result.runCount()); } }
Скомпилируйте классы Test Suite, используя javac.
C:\JUNIT_WORKSPACE>javac JunitTestSuite.java
Теперь запустите Test Suite.
C:\JUNIT_WORKSPACE>java JunitTestSuite
Проверьте вывод.