Юнит 5 (Юпитер) статус испытания

Привет всем, я использую Junit 5 Jupiter, и я хочу знать после каждого теста, успешно ли он или не прошел, и использовать методы @AfterEach для каждого результата теста, например, в случае успеха я что-то сделаю, но если я не справлюсь, я сделаю что-то еще ты можешь мне помочь .. похоже, что @rule работает для Junit 4, а не для Jupiter

package Example;

import static org.junit.Assert.*;
import static org.junit.jupiter.api.Assertions.assertEquals;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Rule;
import org.junit.Test;
import org.junit.platform.runner.JUnitPlatform;
import org.junit.platform.suite.api.SelectPackages;
import org.junit.rules.TestRule;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
import org.junit.runner.RunWith;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;



public class SSJunit5 {
    static WebDriver driver;
    @BeforeAll
    public static void setUpBeforeClass() throws Exception {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\david\\Desktop\\Documents\\Chrome Driver\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.manage().window().maximize();
    }

    @AfterAll
    public static void tearDownAfterClass() throws Exception {
        driver.quit();
    }

    @BeforeEach
    public void setUp() throws Exception {
    }

    @AfterEach
    public void tearDown() throws Exception {
    }

    @Rule
    public TestRule watcher = new TestWatcher() {
        @Override
        protected void succeeded(Description description) {
            System.out.println("Pass!");
        }

        @Override
        protected void failed(Throwable e, Description description) {
            ScreenShots.ScreenShot(driver, "SSafterSendKeys");
            System.out.println("Fail!");
        }
    };
    @Test
    public void test() {
        driver.get("https://www.google.com");
        //ScreenShots.ScreenShot(driver, "webPageON");
        driver.findElement(By.id("lsta-ib")).sendKeys("hello");
        String expected = "asd";
        String actual = "qwert";
        assertEquals(expected, actual);
    }

}

Замены TestWatcher пока нет (в настоящее время он прорабатывается в github.com/junit-team/junit5/pull/1393). Однако вы можете написать свое собственное расширение и проверить наличие ExtensionContext.getExecutionException().

Marc Philipp 16.09.2018 15:53

Также есть расширение JUnit5, эквивалентное JUnit4 TestWatcher в библиотеке junit-extensions. См. документы и код.

glytching 16.09.2018 18:39

TestWatcher был представлен в Junit 5.4.0 несколько дней назад. Посмотрите на stackoverflow.com/a/54690217/5360885

Alexis 14.02.2019 13:20

Взгляните на это: (stackoverflow.com/questions/51012335/… "Аннотация правила в JUnit5" :)

MariDubois 03.01.2020 05:14
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
4
1 681
0

Другие вопросы по теме