Хотя я читал много, но много статей о том, как использовать JBehave, я не могу заставить его работать. Вот шаги, которые я прошел до сих пор:
- Создан новый проект Java
- Загрузили JB файл JAR версии 3.6.8 и добавили его в мои библиотеки путей сборки
- Создал пакет под названием
com.wmi.tutorials.bdd.stack.specs
в папке с исходным кодом тестового источника в моей рабочей области - Добавлен JB файл JAR в конфигурацию библиотеки путей сборки
- Создал историю JBehave в вышеупомянутом пакете (StackBehaviourStories.story)
- Создан класс Java в вышеупомянутом пакете (StackBehaviourStory.java)
- Создал класс Java в вышеупомянутом пакете (StackBehaviourSteps.java)
- Импортировано заданное, именованное, затем, когда аннотации в моем классе Java
- Написал два разных сценария в файле истории JBehave
И все же я не могу заставить его работать/работать!= (
Файл истории:
Narrative:
In order to learn to with JBehave using Eclipse
As a junior Java developer though senior in .Net and in BDD
I want to define the behaviour of a custom stack
Scenario: I push an item onto the stack
Given I have an empty stack
When I push an item 'orange'
Then I should count 1
Scenario: I pop from the stack
Given I have an empty stack
When I push an item 'apple'
And I pop the stack
Then I should count 0
Класс истории
package com.wmi.tutorials.bdd.stack.specs
import org.jbehave.core.configuration.MostUsefulConfiguration;
import org.jbehave.core.junit.JUnitStory;
public class StackBehaviourStory extends JUnitStory {
@Override
public Configuration configuration() { return new MostUsefulConfiguration(); }
@Override
public InjectableStepsFactory stepsFactory() {
return new InstanceStepsFactory(configuration()
, new StackBehaviourSteps());
}
}
Класс шагов
package com.wmi.tutorials.bdd.stack.specs
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Named;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
import org.jbehave.core.junit.Assert;
public class StackBehaviourSteps {
@Given("I have an empty stack")
public void givenIHaveAnEmptyStack() { stack = new CustomStack(); }
@When("I push an item $item")
public void whenIPushAnItem(@Named("item") String item) { stack.push(item); }
@Then("I should count $expected")
public void thenIShouldCount(@Named("expected") int expected) {
int actual = stack.count();
if (actual != expected)
throw new RuntimeException("expected:"+expected+";actual:"+actual);
}
}
В настоящее время я использую Eclipse Kepler (4.3) JEE со всем, что мне нужно для использования JUnit, Google App Engine и да, JBehave правильно установлен после учебника по установке Eclipse JBehave.
Я не могу заставить его работать. Итак, как я могу заставить его работать правильно, используя Eclipse, JBehave и JUnit?