首页 文章

黄瓜testng跑步者失败了

提问于
浏览
0

以下是我的跑步者班,

package runner;



import cucumber.api.CucumberOptions;
import cucumber.api.testng.AbstractTestNGCucumberTests;

//@RunWith(Cucumber.class)
@CucumberOptions(features="resources/features",glue="step_def")

public class Runner extends AbstractTestNGCucumberTests {
 /* private TestNGCucumberRunner testNGCucumberRunner;

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

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

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

    @org.testng.annotations.AfterClass(alwaysRun = true)
    public void tearDownClass() throws Exception {
        testNGCucumberRunner.finish();
    }*/
}

每当我尝试将其作为TestNG测试运行时,我都会收到以下错误

[RemoteTestNG]检测TestNG的版本6.13.1 [的Utils] [ERROR] [错误]显示java.lang.NullPointerException处sun.reflect.NativeMethodAccessorImpl.invoke0 cucumber.api.testng.AbstractTestNGCucumberTests.features(AbstractTestNGCucumberTests.java:29)(本地方法)在sun.reflect.NativeMethodAccessorImpl.invoke(来源不明)在sun.reflect.DelegatingMethodAccessorImpl.invoke(来源不明)在java.lang.reflect.Method.invoke(来源不明)在org.testng.internal.MethodInvocationHelper . 位于org.testng.internal.MethodInvocationHelper的org.testng.internal.Method.Merod.MovodMood.MododNoCheocationException(MethodInvocationHelper.java:45)的org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74)中的invokeMethod(MethodInvocationHelper.java:124) .invokeDataProvider(MethodInvocationHelper.java:131)在org.testng.internal.Parameters.handleParameters(Parameters.java:706)在org.testng.internal.ParameterHandler.handleParameters(ParameterHandler.java:49)在org.test ng.internal.ParameterHandler.createParameters(ParameterHandler.java:37)在org.testng.internal.Invoker.invokeTestMethods(Invoker.java:914)在org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)在组织.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)在org.testng.TestRunner.privateRun(TestRunner.java:648)在org.testng.TestRunner.run(TestRunner.java:505)在org.testng . SuiteRunner.runTest(SuiteRunner.java:455)在org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)在org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)在org.testng.SuiteRunner.run(SuiteRunner的.java:364)在org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)在org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)在org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)在org.testng.TestNG.runSuitesLocally(TestNG.java:1116)在org.testng.TestNG.runSuites(TestNG.java:1028)在org.testng.TestNG.run(TestNG.java:996)在org.testng . remote.Abstrac tRemoteTestNG.run(AbstractRemoteTestNG.java:114)在org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)失败配置:@BeforeClass setUpClass java.lang.NoSuchMethodError:cucumber.runtime.RuntimeOptions.reporter(Ljava / lang / ClassLoader;)Lgherkin / formatter / Reporter;在cucumber.api.testng.TestNGCucumberRunner . (TestNGCucumberRunner.java:41)在cucumber.api.testng.AbstractTestNGCucumberTests.setUpClass(AbstractTestNGCucumberTests.java:16)在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)在sun.reflect . NativeMethodAccessorImpl.invoke(来源不明)在sun.reflect.DelegatingMethodAccessorImpl.invoke(来源不明)在java.lang.reflect.Method.invoke(来源不明)在org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)在org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59)在org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:451)在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222 )在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)在org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:163)在org.testng.internal.TestMethodWorker.run(TestMethodWorker.java: 105)在org.testng.TestRunner.privateRun(TestRunner.java:648)在org.testng.TestRunner.run(TestRunner.java:505)在org.testng.SuiteRunner.runTest(SuiteRunner.java:455)在org.testng.SuiteRunner .runSequentially(SuiteRunner.java:450)在org.testng.SuiteRunner.privateRun(SuiteRunner.java:415)在org.testng.SuiteRunner.run(SuiteRunner.java:364)在org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker . 的java:52)在org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84)在org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)在org.testng.TestNG.runSuitesLocally(TestNG.java:1116)在org.testng.TestNG.runSuites(TestNG.java:1028)在org.testng.TestNG.run(TestNG.java:996)在org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)在org.testng .remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251)在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)失败配置:@AfterClass tearDownClass显示java.lang.NullPointerException在gree.api.testng.AbstractTestNGCucumberTests.tearDownClass(AbstractTestNGCucumberTests.java:34)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown)源)在java.lang.reflect.Method.invoke(来源不明)在org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)在org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:59)在org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:451)在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:222)在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142 )在org.testng.internal.TestMethodWorker.invokeAfterClassMethods(TestMethodWorker.java:208)在org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)在org.testng.TestRunner.privateRun(TestRunner.java:648)在org.testng.TestRunn er.run(TestRunner.java:505)org.testng.SuiteRunner.runTest(SuiteRunner.java:455)org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)org.testng.SuiteRunner.privateRun(SuiteRunner) .java:415)org.testng.SuiteRunner.run(SuiteRunner.java:364)org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:84) org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)org.testng.TestNG.runSuitesLocally(TestNG.java:1116)org.testng.TestNG.runSuites(TestNG.java:1028)atg.testng . TestNG.run(TestNG.java:996)位于org.testng.remote的org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:251) .RemoteTestNG.main(RemoteTestNG.java:77)SKIPPED:feature运行Cucumber Feature java.lang.RuntimeException:java.lang.NullPointerException at org.testng.internal.MethodInvocationHelper.invokeMethodNoCheckedException(MethodInvocationHelpe r.java:49)在org.testng.internal.MethodInvocationHelper.invokeDataProvider(MethodInvocationHelper.java:131)在org.testng.internal.Parameters.handleParameters(Parameters.java:706)在org.testng.internal.ParameterHandler.handleParameters (参数Handler.java:49)org.testng.internal.Paraler.createParameters(ParameterHandler.java:37)org.test.Ivoke.invokeTestMethods(Invoker.java:914)org.testng.internal.TestMethodWorker的org.testng.internal.ParameterHandler.createParameters(ParameterHandler.java:37) . invokeTestMethods(TestMethodWorker.java:125)在org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)在org.testng.TestRunner.privateRun(TestRunner.java:648)在org.testng.TestRunner.run(TestRunner的.java:505)org.testng.SuiteRunner.runTest(SuiteRunner.java:455)org.testng.SuiteRunner.runSequentially(SuiteRunner.java:450)at org.testng.SuiteRunner.privateRun(SuiteRunner.java:415) org.testng.SuiteRunner.run(SuiteRunner.java:364)org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)at org.testng.SuiteRunne rberer.run(SuiteRunnerWorker.java:84)org.testng.TestNG.runSuitesSequentially(TestNG.java:1187)org.testng.TestNG.runSuitesLocally(TestNG.java:1116)atg.testng.TestNG.runSuites(TestNG) .java:1028)org.testng.TestNG.run(TestNG.java:996)atg.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:114)org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG . java:251)at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:77)引起:sun.reflect的cucumber.api.testng.AbstractTestNGCucumberTests.features(AbstractTestNGCucumberTests.java:29)中的java.lang.NullPointerException .NativeMethodAccessorImpl.invoke0(本地方法)在sun.reflect.NativeMethodAccessorImpl.invoke(来源不明)在sun.reflect.DelegatingMethodAccessorImpl.invoke(来源不明)在java.lang.reflect.Method.invoke(来源不明)在org.testng .internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:124)at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocat) ionHelper.java:74)at org.testng.internal.MethodInvocationHelper.invokeMethodNoCheckedException(MethodInvocationHelper.java:45)... 22 more ====================== =========================默认测试测试运行:1,失败:0,跳过:1配置失败:2,跳过:0 === ============================================默认套件运行总测试: 1,故障:0,跳过:1配置失败:2,跳过:0

我不确定我在这里缺少什么 .

1 回答

  • 1

    功能文件的路径应该是从源文件夹开始 . 试一试 . 它应该看起来像: -

    features =“src \ bbd_feature”

相关问题