Учебники

JUnit — API

Самый важный пакет в 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

Проверьте вывод.