Създаване на JUnit Тестови пакет с пример: @RunWith @SuiteClasses
В Junit тестовият пакет ни позволява да обединим всички тестови случаи от множество класове на едно място и да ги стартираме заедно.
За да изпълните теста на пакета, трябва да анотирате клас, като използвате по-долу споменатите анотации:
- @Runwith(Suite.class)
- @SuiteClasses(test1.class,test2.class……) или@Suite.SuiteClasses ({test1.class, test2.class……})
С горните анотации всички тестови класове в пакета ще започнат да се изпълняват един по един.
Стъпки за създаване на Test Suite и Test Runner
Стъпка 1) Създайте прост тестов клас (напр. MyFirstClassTest) и добавете метод, анотиран с @test.
Стъпка 2) Създайте друг тестов клас за добавяне (напр. MySecondClassTest) и създайте метод, анотиран с @test.
Стъпка 3) За да създадете testSuite, трябва първо да анотирате класа с @RunWith(Suite.class) и @SuiteClasses(class1.class2…..).
Стъпка 4) Създайте клас Test Runner, за да изпълните нашия тестов пакет, както е дадено по-долу;
Обяснение на кода:
- Кодов ред 8: Деклариране на основния метод на теста на класа, който ще изпълнява нашия JUnit тест.
- Кодов ред 9: Изпълнение на тестови случаи с помощта на JunitCore.runclasses, който приема името на тестовия клас като параметър (В примера по-горе вие използвате TestSuiteExample.class, показан в стъпка 3).
- Кодов ред 11: Обработка на резултата с помощта на цикъл for и отпечатване на неуспешен резултат.
- Кодов ред 13: Отпечатване на успешния резултат.
Изход: Ето изхода, който показва успешен тест без следа от грешка, както е дадено по-долу:
JUnit Пример за тестов пакет
Помислете за по-сложен пример
JunitTest.java
JunitTest.java е прост клас, анотиран с @RunWith намлява @Апартамент анотации. Можете да посочите броя на .classes в пакета като параметри, както е дадено по-долу:
package guru99.junit; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ SuiteTest1.class, SuiteTest2.class, }) public class JunitTest { // This class remains empty, it is used only as a holder for the above annotations }
SuiteTest1.java
SuiteTest1.java е тестов клас с тестов метод за отпечатване на съобщение, както е дадено по-долу. Ще използвате този клас като пакет в гореспоменатия клас.
package guru99.junit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class SuiteTest1 { public String message = "Saurabh"; JUnitMessage junitMessage = new JUnitMessage(message); @Test(expected = ArithmeticException.class) public void testJUnitMessage() { System.out.println("Junit Message is printing "); junitMessage.printMessage(); } @Test public void testJUnitHiMessage() { message = "Hi!" + message; System.out.println("Junit Hi Message is printing "); assertEquals(message, junitMessage.printHiMessage()); System.out.println("Suite Test 2 is successful " + message); } }
SuiteTest2.java
SuiteTest2.java е друг тестов клас, подобен на SuiteTest1.java има тестов метод за отпечатване на съобщение, както е дадено по-долу. Ще използвате този клас като пакет в JunitTest.java.
package guru99.junit; import org.junit.Assert; import org.junit.Test; public class SuiteTest2 { @Test public void createAndSetName() { String expected = "Y"; String actual = "Y"; Assert.assertEquals(expected, actual); System.out.println("Suite Test 1 is successful " + actual); } }
Продукция
След изпълнение JunitTest.java, който съдържа пакет с test1.java намлява test2.java, ще получите по-долу резултат:
Oбобщение
В този урок научихте основите на тестовата система и тестовите пакети в детайли с пример.
- Тествайте снопа или автоматизацията Тестване е софтуер или колекция от софтуер, който позволява на потребителя да тества данни с множество входове и да контролира изпълнението
- Тестовият пакет всъщност позволява тестова рамка, която върши цялата работа по изпълнение на тестове с помощта на тестова библиотека и генериране на тестов отчет
- В Junit тестовият пакет ни позволява да обединим всички тестови случаи на много класове на едно място и да ги стартираме заедно.