2014-09-15 5 views
3

У меня возникли проблемы с функцией в Cucumber, эта функция очень проста, так как она из учебника.Cant run feature in Cucumber

Это не определено, и выглядит следующим образом:

Feature: Proof that my concept works 

Scenario: My first test 
Given this is my first step 
When this is my second step 
Then this is my final step 

Мой Огурцы класс бегуна выглядит следующим образом:

package cucumber; 
import org.junit.runner.RunWith; 
import cucumber.api.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(
    format = {"pretty", "json:target/"}, 
    features = {"src/cucumber/"} 
    ) 
public class CucumberRunner { 

} 

Также внешние .jar файлы, которые у меня есть в этом проекте являются:

image

Т он исключение, что я получаю:

Исключение в потоке "основной" cucumber.runtime.CucumberException: Не удалось создать экземпляр общественного cucumber.runtime.java.JavaBackend (cucumber.runtime.io.ResourceLoader) с [[email protected]]

Я попытался оглянуться в Интернете, чтобы решить эту проблему, но не повезло.

Я также обсуждал с ОП учебника, и я все еще жду ответа, но это было какое-то время.

+0

Также кто-то знает, как сделать ссылку с изображением как самой картиной, а не ссылкой? – dhali

ответ

4

Я столкнулся с подобной проблемой и получил ту же ошибку, что и вы.

Во-первых, укажите путь к файлу функции features = {"src/cucumber/myfile.feature"} В любом случае, это не вызвало ошибку.

Чтобы просто запустить огурец класс бегуна, вся зависимость, которые вам нужно

cucmber-junit cucumber-java и junit.

У меня был дополнительный cucumber-guice, который создавал проблему, и как только я удалил ее, ошибка исчезла, а бегун был успешно выполнен.

От ссылки на изображение, о котором вы упоминали, похоже, что вы не используете cucumber-guice, но все же я бы рекомендовал вам удалить другие ненужные зависимости огурца и повторить попытку.

+2

Удаление ненужных зависимостей 'cukes' фактически помогло мне решить подобную проблему. В моем случае, однако, мне пришлось удалить «огурец-весна». Следующий вопрос будет, как я могу вернуться к использованию его снова, когда это необходимо ... –

+0

Это сработало и для меня. – George

0

Это работало для меня, я надеюсь, что это сработает и для вас.

Обновление ваших зависимостей огурца в pom.xml т.е.

  • огурца Java (1.2.2)
  • огурца JVM (1.2.2)
  • огурца JUnit (1.2.2)

И обновите свою зависимость от Junit. (4.11).

2

1, я столкнулся с этим слишком мало дней назад, его просто удалили огурец-весну из зависимости. 2 Если это не помогает, попробуйте обновить огурец-сердцевину, огурец-юнит и огурец-ява все версии 1.2.3

+1

Проблема Spring Framework Я удалил ее, тогда это сработало для меня – Shan

0

Я считаю, что проблема в том, что многие надстройки огурца, такие как огурец-тест , огурец-весна и (в моем случае) огурец-гусь, ожидайте, что соответствующий модуль, который они связывают, также будет включен. Но, по-видимому, эксперты по огурцам решили не включать эту зависимость в свои файлы pom.xml, поэтому проблема не проявляется до времени выполнения.

Таким образом (чтобы ответить на вопрос Юджина С. под ответом LING), если вы хотите на самом деле использовать гусь с огурцом, вам также необходимо добавить в себя guice как зависимость.