у меня есть один проект, как это в Groovy (не Maven структуры), и когда я обзор функций являетсяКак я могу определить недостающий шаг из проекта Groovy с огурцом?
Feature: API Authentication Functionality @Api @General Scenario: I cannot log in to the API with bad credentials Given the following users are defined: | USER_EMAIL | RAW_PASSWORD | | [email protected] | YesGoodPassword! | And I use the username '[email protected]' And I use the password 'UhOhWrongWord!' When I log in to the API Then the response is forbidden @Api @General Scenario: I log in to the API Given the following users are defined: | USER_EMAIL | RAW_PASSWORD | | [email protected] | YesGoodPassword! | And I use the username '[email protected]' And I use the password 'YesGoodPassword!' When I log in to the API Then the response is valid And the response includes a token
Но в ступеньках появляется это предупреждение:
step the following users are defined does not have a matching glue code
Структура шаги подобны : AuthenticationSteps.groovy
И когда я бегу он дал мне эту ошибку:
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray$1.run(CallSiteArray.java:68)
at org.codehaus.groovy.runtime.callsite.CallSiteArray$1.run(CallSiteArray.java:65)
at java.security.AccessController.doPrivileged(Native Method)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallStaticSite(CallSiteArray.java:65)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.createCallSite(CallSiteArray.java:162)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:117)
at com.reachforce.tools.db.DataSourceFactory.<init>(DataSourceFactory.groovy:12)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:239)
at com.reachforce.config.ValidationConfig.<init>(ValidationConfig.groovy:31)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at org.codehaus.groovy.runtime.InvokerHelper.createScript(InvokerHelper.java:436)
at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
at groovy.lang.GroovyShell.parse(GroovyShell.java:680)
at cucumber.runtime.groovy.GroovyBackend.parse(GroovyBackend.java:115)
at cucumber.runtime.groovy.GroovyBackend.loadGlue(GroovyBackend.java:76)
at cucumber.runtime.Runtime.<init>(Runtime.java:91)
at cucumber.runtime.Runtime.<init>(Runtime.java:69)
at cucumber.runtime.Runtime.<init>(Runtime.java:65)
at cucumber.api.cli.Main.run(Main.java:35)
at cucumber.api.cli.Main.main(Main.java:18)
Caused by: java.io.FileNotFoundException: \etc\validation\validation.properties (El sistema no puede encontrar la ruta especificada)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:83)
at org.codehaus.groovy.reflection.CachedConstructor.doConstructorInvoke(CachedConstructor.java:77)
at org.codehaus.groovy.runtime.callsite.ConstructorSite.callConstructor(ConstructorSite.java:45)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)
at com.reachforce.config.ValidationEnvironment.<clinit>(ValidationEnvironment.groovy:10)
... 36 more
Любая помощь?
Вы должны иметь что-то вроде «Шаг Определения», где вы определяете ваши шаги. Похоже, что этого шага нет или неверно. – Ievgen
Обычно я объявляю определение Steps на моем пакете runner ... что, когда я делаю это в JAVA ... но в groovy у меня нет этого пакета бегунов ... где я могу это найти? –
Я не уверен в этом, я не работал с гривой + огурцом. Вы можете посмотреть здесь, чтобы выяснить - https://github.com/cucumber/cucumber-jvm/tree/master/groovy – Ievgen