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

org.junit.internal.requests.FilterRequest Maven / Gradle / Ivy

Go to download

JUnit is a regression testing framework written by Erich Gamma and Kent Beck. It is used by the developer who implements unit tests in Java.

There is a newer version: 4.13.2
Show newest version
package org.junit.internal.requests;

import org.junit.internal.runners.ErrorReportingRunner;
import org.junit.runner.Request;
import org.junit.runner.Runner;
import org.junit.runner.manipulation.Filter;
import org.junit.runner.manipulation.NoTestsRemainException;

/**
 * A filtered {@link Request}.
 */
public final class FilterRequest extends Request {
    private final Request fRequest;
    private final Filter fFilter;

    /**
     * Creates a filtered Request
     *
     * @param classRequest a {@link Request} describing your Tests
     * @param filter {@link Filter} to apply to the Tests described in
     * classRequest
     */
    public FilterRequest(Request classRequest, Filter filter) {
        fRequest = classRequest;
        fFilter = filter;
    }

    @Override
    public Runner getRunner() {
        try {
            Runner runner = fRequest.getRunner();
            fFilter.apply(runner);
            return runner;
        } catch (NoTestsRemainException e) {
            return new ErrorReportingRunner(Filter.class, new Exception(String
                    .format("No tests found matching %s from %s", fFilter
                            .describe(), fRequest.toString())));
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy