All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.zebrunner.agent.junit.TestRunListener Maven / Gradle / Ivy

package com.zebrunner.agent.junit;

import com.nordstrom.automation.junit.AtomicTest;
import com.nordstrom.automation.junit.RunWatcher;
import com.nordstrom.automation.junit.RunnerWatcher;
import lombok.extern.slf4j.Slf4j;
import org.junit.internal.AssumptionViolatedException;
import org.junit.runner.Describable;

/**
 * Zebrunner Agent Listener implementation tracking JUnit test run events
 */
@Slf4j
public class TestRunListener implements RunnerWatcher, RunWatcher {

    private final JUnitAdapter adapter;

    public TestRunListener() {
        this.adapter = new JUnitAdapter();
    }

    @Override
    public void runStarted(Object runner) {
        log.debug("Beginning TestRunListener -> runStarted(Object runner)");

        Describable describable = (Describable) runner;
        adapter.registerRunStart(describable.getDescription());

        log.debug("Finishing TestRunListener -> runStarted(Object runner)");
    }

    @Override
    public void runFinished(Object runner) {
        log.debug("Beginning TestRunListener -> runFinished(Object runner)");

        Describable describable = (Describable) runner;
        adapter.registerRunFinish(describable.getDescription());

        log.debug("Finishing TestRunListener -> runFinished(Object runner)");
    }

    @Override
    public void testStarted(AtomicTest atomicTest) {
        log.debug("Beginning TestRunListener -> testStarted(AtomicTest atomicTest)");

        adapter.registerTestStart(atomicTest);

        log.debug("Finishing TestRunListener -> testStarted(AtomicTest atomicTest)");
    }

    @Override
    public void testFinished(AtomicTest atomicTest) {
        log.debug("Beginning TestRunListener -> testFinished(AtomicTest atomicTest)");

        adapter.registerTestFinish(atomicTest);

        log.debug("Finishing TestRunListener -> testFinished(AtomicTest atomicTest)");
    }

    @Override
    public void testFailure(AtomicTest atomicTest, Throwable thrown) {
        log.debug("Beginning TestRunListener -> testFailure(AtomicTest atomicTest, Throwable thrown)");

        adapter.registerTestFailure(atomicTest, thrown);

        log.debug("Finishing TestRunListener -> testFailure(AtomicTest atomicTest, Throwable thrown)");
    }

    @Override
    public void testAssumptionFailure(AtomicTest atomicTest, AssumptionViolatedException thrown) {
        log.debug("Beginning TestRunListener -> testAssumptionFailure(AtomicTest atomicTest, AssumptionViolatedException thrown)");

        adapter.registerTestSkipped(atomicTest, thrown);

        log.debug("Finishing TestRunListener -> testAssumptionFailure(AtomicTest atomicTest, AssumptionViolatedException thrown)");
    }

    @Override
    public void testIgnored(AtomicTest atomicTest) {
        log.debug("Beginning TestRunListener -> testIgnored(AtomicTest atomicTest)");
        log.debug("Finishing TestRunListener -> testIgnored(AtomicTest atomicTest)");
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy