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) 个答案