Учебники

Groovy — модульное тестирование

Фундаментальной единицей объектно-ориентированной системы является класс. Поэтому юнит-тестирование состоит из тестирования в классе. Используемый подход состоит в том, чтобы создать объект тестируемого класса и использовать его для проверки того, что выбранные методы выполняются должным образом. Не каждый метод может быть проверен, поскольку не всегда практично проверять каждую вещь. Но модульное тестирование должно проводиться для ключевых и критических методов.

JUnit — это среда тестирования с открытым исходным кодом, которая является общепринятым отраслевым стандартом для автоматизированного модульного тестирования кода Java. К счастью, инфраструктуру JUnit можно легко использовать для тестирования классов Groovy. Все, что требуется, — это расширить класс GroovyTestCase, который является частью стандартной среды Groovy. Класс теста Groovy основан на тесте Junit.

Написание простого теста Junit

Предположим, у нас есть следующий класс, определенный в файле класса приложения —

Live Demo

class Example {
   static void main(String[] args) {
      Student mst = new Student();
      mst.name = "Joe";
      mst.ID = 1;
      println(mst.Display())
   } 
} 
 
public class Student {
   String name;
   int ID;
	
   String Display() {
      return name +ID;
   }  
}

Вывод вышеуказанной программы приведен ниже.

Joe1

А теперь предположим, что мы хотим написать тестовый пример для класса Student. Типичный тестовый пример будет выглядеть так, как показано ниже. Следующие пункты должны быть отмечены о следующем коде —

  • Класс тестового случая расширяет класс GroovyTestCase
  • Мы используем оператор assert, чтобы гарантировать, что метод Display возвращает правильную строку.
class StudentTest extends GroovyTestCase {
   void testDisplay() {
      def stud = new Student(name : 'Joe', ID : '1')
      def expected = 'Joe1'
      assertToString(stud.Display(), expected)
   }
}

Groovy Test Suite

Обычно с увеличением количества модульных тестов становится трудно продолжать выполнение всех тестовых примеров один за другим. Следовательно, Groovy предоставляет средство для создания набора тестов, который может инкапсулировать все тестовые примеры в одну логическую единицу. Следующий кодекс показывает, как этого можно достичь. Следующие вещи должны быть отмечены о коде —

GroovyTestSuite используется для инкапсуляции всех тестовых случаев в один.

В следующем примере мы предполагаем, что у нас есть два файла тестовых примеров, один из которых называется StudentTest, а другой — EmployeeTest, который содержит все необходимые тесты.