Учебники

JUnit — Тестовый фреймворк

JUnit — это среда регрессионного тестирования, используемая разработчиками для реализации модульного тестирования в Java, ускорения скорости программирования и повышения качества кода. JUnit Framework может быть легко интегрирован с одним из следующих:

  • Затмение
  • Муравей
  • специалист

Особенности JUnit Test Framework

Тестовый фреймворк JUnit предоставляет следующие важные функции —

  • арматура
  • Тестовые комплекты
  • Тест бегунов
  • JUnit классы

арматура

Fixtures — это фиксированное состояние набора объектов, используемых в качестве основы для выполнения тестов. Цель тестового устройства — обеспечить хорошо известную и фиксированную среду, в которой выполняются тесты, чтобы результаты можно было повторять. Включает в себя —

  • Метод setUp (), который запускается перед каждым вызовом теста.
  • Метод tearDown (), который запускается после каждого метода тестирования.

Давайте проверим один пример —

import junit.framework.*;

public class JavaTest extends TestCase {
   protected int value1, value2;
   
   // assigning the values
   protected void setUp(){
      value1 = 3;
      value2 = 3;
   }

   // test method to add two values
   public void testAdd(){
      double result = value1 + value2;
      assertTrue(result == 6);
   }
}

Test Suites

Набор тестов объединяет несколько примеров модульных тестов и запускает их вместе. В JUnit для запуска тестового набора используются аннотации @RunWith и @Suite. Ниже приведен пример, который использует тестовые классы TestJunit1 & TestJunit2.

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

//JUnit Suite Test
@RunWith(Suite.class)

@Suite.SuiteClasses({ 
   TestJunit1.class ,TestJunit2.class
})

public class JunitTestSuite {
}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;

public class TestJunit1 {

   String message = "Robert";	
   MessageUtil messageUtil = new MessageUtil(message);
   
   @Test
   public void testPrintMessage() {	
      System.out.println("Inside testPrintMessage()");    
      assertEquals(message, messageUtil.printMessage());     
   }
}
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;

public class TestJunit2 {

   String message = "Robert";	
   MessageUtil messageUtil = new MessageUtil(message);
 
   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Robert";
      assertEquals(message,messageUtil.salutationMessage());
   }
}

Тест бегунов

Test Runner используется для выполнения тестовых случаев. Вот пример, который предполагает, что тестовый класс TestJunit уже существует.

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class TestRunner {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit.class);
		
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
		
      System.out.println(result.wasSuccessful());
   }
}

JUnit Классы

Классы JUnit являются важными классами, используемыми при написании и тестировании JUnits. Некоторые из важных классов —

Assert — Содержит набор методов assert.

TestCase — содержит тестовый набор, который определяет устройство для запуска нескольких тестов.

TestResult — содержит методы для сбора результатов выполнения контрольного примера.