
io.cucumber.core.runner.PickleStepDefinitionMatch Maven / Gradle / Ivy
package io.cucumber.core.runner;
import io.cucumber.core.backend.CucumberBackendException;
import io.cucumber.core.backend.CucumberInvocationTargetException;
import io.cucumber.core.backend.ParameterInfo;
import io.cucumber.core.backend.StepDefinition;
import io.cucumber.core.backend.TestCaseState;
import io.cucumber.core.exception.CucumberException;
import io.cucumber.core.gherkin.Step;
import io.cucumber.core.stepexpression.Argument;
import io.cucumber.cucumberexpressions.CucumberExpressionException;
import io.cucumber.datatable.CucumberDataTableException;
import io.cucumber.datatable.UndefinedDataTableTypeException;
import io.cucumber.docstring.CucumberDocStringException;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import static io.cucumber.core.runner.StackManipulation.removeFrameworkFrames;
import static io.cucumber.core.runner.StackManipulation.removeFrameworkFramesAndAppendStepLocation;
class PickleStepDefinitionMatch extends Match implements StepDefinitionMatch {
private final StepDefinition stepDefinition;
private final URI uri;
private final Step step;
PickleStepDefinitionMatch(List arguments, StepDefinition stepDefinition, URI uri, Step step) {
super(arguments, stepDefinition.getLocation());
this.stepDefinition = stepDefinition;
this.uri = uri;
this.step = step;
}
@Override
public void runStep(TestCaseState state) throws Throwable {
List arguments = getArguments();
List parameterInfos = stepDefinition.parameterInfos();
if (parameterInfos != null && arguments.size() != parameterInfos.size()) {
throw arityMismatch(parameterInfos.size());
}
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy