2016-11-03 5 views
0

у меня есть один проект, как это в 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 

Любая помощь?

+0

Вы должны иметь что-то вроде «Шаг Определения», где вы определяете ваши шаги. Похоже, что этого шага нет или неверно. – Ievgen

+0

Обычно я объявляю определение Steps на моем пакете runner ... что, когда я делаю это в JAVA ... но в groovy у меня нет этого пакета бегунов ... где я могу это найти? –

+0

Я не уверен в этом, я не работал с гривой + огурцом. Вы можете посмотреть здесь, чтобы выяснить - https://github.com/cucumber/cucumber-jvm/tree/master/groovy – Ievgen

ответ

0

Похоже, что ваш плагин огурца не может найти классы определения шага.

  • В вашем файле сборки вам нужно указать Огурец на местоположение ваших функций и определений шагов, если ваша структура папок не отличается от того, что ожидает плагин.

Попробуйте взглянуть на этот пример для запуска Огурцы с Groovy определения шага: Cucumber-jvm-groovy-example