Cucumber PendingExceprion for test steps in Intellij IDEA
Remove throw new PendingException();
from your steps.
Giymose
I'm automation tester, who loves learn new programming languages for me, like Clojure or Groovy :)
Updated on June 05, 2022Comments
-
Giymose almost 2 years
Erly I asked this question about cucumber and java. After correct my project, I checked PendingException in cucumber-junit. I have 2 classes: TestClass.java for working with SoapUI, TestSteps.java for implementation cucumber steps with my code and JUnit Run.java class. This is my code: TestClass.java:
public class FirstTest { private static String xmlFile; private static String projectPath; public FirstTest(String file) { xmlFile = file; } //for Then step public static void run() throws XmlException, IOException, SoapUIException { //add test project WsdlProject project = new WsdlProject(getProjectPath()); //add xml file for test into property project.setPropertyValue("File", xmlFile); //get TestSuite and TestCase by name TestSuite testSuite = project.getTestSuiteByName("Test"); TestCase testCase = testSuite.getTestCaseByName("Test"); //run test testCase.run(new PropertiesMap(), false); } public static String getProjectPath() { return projectPath = "path"; }
}
And this is TestSteps.java class:
public class TestSteps { private FirstTest testClass; @Given("^I have a file \"(.*?)\"$") public void i_have_a_file(String file) throws Throwable { testClass = new FirstTest(file); throw new PendingException(); } @Then("^I want to run case$") public void i_want_to_run_case() throws Throwable { testClass.run(); throw new PendingException(); }
}
Cucumber feature:
Scenario: Test Given I have a file "path_to_file" Then I want to run case
And JUnit Class:
@RunWith(Cucumber.class) @CucumberOptions(format = {"junit:target_junit/cucumber.xml"}, glue = {"src/com.teststeps.TestSteps"}, features = {"Feature"}, dryRun = true, strict = true, tags = {}, monochrome = true) public class RunTest { }
If I try run JUnit Class, I checking PendingException:
cucumber.api.PendingException: TODO: implement me at cucumber.runtime.junit.JUnitReporter.addFailure(JUnitReporter.java:134) at cucumber.runtime.junit.JUnitReporter.addFailureOrIgnoreStep(JUnitReporter.java:122) at cucumber.runtime.junit.JUnitReporter.result(JUnitReporter.java:91) at cucumber.runtime.Runtime.runStep(Runtime.java:280) at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44) at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39) at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:48) at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:91) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63) at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:93) at cucumber.api.junit.Cucumber.runChild(Cucumber.java:37) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at cucumber.api.junit.Cucumber.run(Cucumber.java:98) at org.junit.runner.JUnitCore.run(JUnitCore.java:137) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
But I just implemented this steps in my java files. In what direction to look? Why can I check this exception? UPDATE: Try this code in Eclipse too, it dosen't work. Somebody know reasons? UPD 2: Edit descriptions UPD 3: Recreate project help