有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在将testng与cucumber集成时遇到问题

当我用testng运行cucumber时,我得到了以下错误

请让我知道为什么考试会被跳过&;在本例中获取空指针错误。我已经多次检查我的代码。如果我遗漏了什么,请告诉我。我已经粘贴了代码&;下面的错误。 总错误粘贴在下面:-

SKIPPED: scenario Runs Cucumber Scenarios java.lang.RuntimeException: java.lang.NullPointerException at org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:162) at org.testng.internal.Parameters.handleParameters(Parameters.java:430) at org.testng.internal.Invoker.handleParameters(Invoker.java:1270) at org.testng.internal.Invoker.createParameters(Invoker.java:985) at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1075) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108) at org.testng.TestRunner.privateRun(TestRunner.java:774) at org.testng.TestRunner.run(TestRunner.java:624) at org.testng.SuiteRunner.runTest(SuiteRunner.java:359) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312) at org.testng.SuiteRunner.run(SuiteRunner.java:261) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215) at org.testng.TestNG.runSuitesLocally(TestNG.java:1140) at org.testng.TestNG.run(TestNG.java:1048) at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236) at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81) Caused by: java.lang.NullPointerException at cucumber.api.testng.AbstractTestNGCucumberTests.scenarios(AbstractTestNGCucumberTests.java:44) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85) at org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:136) ... 20 more

请检查TestRunner代码:-

@CucumberOptions(features = "src\\bbd_feature",glue="stepdef",
    tags = {"~@Ignore"}, plugin = {"json:test-output/cucumber-report/report2.json", 
    "html:test-output/cucumber-report/report2.html"},
format = {
        "pretty",
        "html:target/cucumber-reports/cucumber-pretty",
        "json:target/cucumber-reports/CucumberTestReport.json",
        "rerun:target/cucumber-reports/rerun.txt"
})
public class TestRunner extends AbstractTestNGCucumberTests{

    private TestNGCucumberRunner testNGCucumberRunner;

    @BeforeClass(alwaysRun = true)
    public void setUpClass() throws Exception {
        testNGCucumberRunner = new TestNGCucumberRunner(this.getClass());
    }

    @Test(groups = "cucumber", description = "Runs Cucumber Feature", dataProvider = "features")
    public void feature(CucumberFeatureWrapper cucumberFeature) {
        testNGCucumberRunner.runCucumber(cucumberFeature.getCucumberFeature());
    }

    @DataProvider
    public Object[][] features() {
        return testNGCucumberRunner.provideFeatures();
    }

    @AfterClass(alwaysRun = true)
    public void tearDownClass() throws Exception {
        testNGCucumberRunner.finish();
    }

}

步骤def的代码:-

public class stepdefinition 
{

    @Given("^I work in weekends$")
    public void test1() throws Throwable
    {
        System.out.println("Test Given 1");
    }

    @When("^During Daytime$")
    public void test2() throws Throwable
    {
        System.out.println("Test When 2");

    }

    @Then("^I Sleep$")
    public void test3() throws Throwable
    {

        System.out.println("Test Then 3");

    }
}

共 (0) 个答案