JUnit — Suite тест. Запуск нескольких тестов с помощью аннотаций @Suite и @RunWith
Запуск нескольких тестов с помощью аннотаций @Suite и @RunWith.
Основной код описан в JUnit — введение в юнит-тесты. Пример JUnit Hello world.
Запустить несколько тестов можно с помощью аннотаций @RunWith и @Suite. Создадим простой класс с использованием этих аннотаций.
SuiteTestClass:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | package ru.javastudy.junit; import org.junit.runner.RunWith; import org.junit.runners.Suite; /**  * Created by retinka on 13.01.2016.  */ @RunWith(Suite.class) @Suite.SuiteClasses({CalculatorTest.class, SecondClassTest.class} ) public class SuiteTestClass { } | 
Suite.class — класс из библиотеки JUnit. Далее перечислены классы, которые требуется запустить @Suite.SuiteClasses({CalculatorTest.class, SecondClassTest.class} ).
CalculatorTest.class (описан в базовой статье):
| 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | package ru.javastudy.junit; import org.junit.*; import static org.junit.Assert.*; /**  * Created by retinka on 13.01.2016.  */ public class CalculatorTest {     private Calculator calculator;     @BeforeClass     public static void beforeClass() {         System.out.println("");         System.out.println("Before CalculatorTest.class");     }     @AfterClass     public  static void afterClass() {         System.out.println("");         System.out.println("After CalculatorTest.class");     }     @Before     public void initTest() {         System.out.println("");         System.out.println("initTest()");         calculator = new Calculator();     }     @After     public void afterTest() {         System.out.println("afterTest()");         calculator = null;     }     @Test     public void testGetSum() throws Exception {         System.out.println("testGetSum()");         assertEquals(15, calculator.getSum(7,8));     }     @Test     public void testGetDivide() throws Exception {         System.out.println("testGetDivide()");         assertEquals(20, calculator.getDivide(100,5));     }     @Test     public void testGetMultiple() throws Exception {         System.out.println("testGetMultiple()");     }     @Test(expected = ArithmeticException.class)     public void divisionWithException() {         System.out.println("divisionWithException()");         calculator.getDivide(15,0);     }     @Ignore("Message for ignored test")     @Test     public void ignoredTest() {         System.out.println("will not print it");     }     @Test(timeout = 500)     public void timeStampTest() {         System.out.println("timeStampTest()");         while (true);     } } | 
SecondClassTest:
| 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 | package ru.javastudy.junit; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; /**  * Created by retinka on 13.01.2016.  */ public class SecondClassTest {     @BeforeClass     public static void beforeClass() {         System.out.println("Before SecondClassTest.class");     }     @AfterClass     public  static void afterClass() {         System.out.println("After SecondClassTest.class");     }     @Test     public void someSecondTest() {         System.out.println("someSecondTest");     } } | 
Методы просто выводят в консоль текстовую информацию. В результате запуска класса SuiteTestClass будут запущены оба указанных класса.
Исходный код
 24016 Total Views  3 Views Today 
			


