很简单的逐步JBehave设置教程?

问题描述

紧紧按照本jbehave Getting Started教程逐步进行,“ 部分说: […] ICanToggleACell.java类将允许其自身作为JUnit测试运行。

这意味着在构建路径中需要JUnit库。

使用Eclipse:

  1. 选择当前项目,然后右键单击它,“ 构建路径” ,“ 配置构建路径…”。
  2. [当前项目]Java构建路径库的 属性,单击 [添加库…]
  3. 添加库,选择 JUnit ,单击 [下一步]
  4. JUnit库,JUnit库版本,选择您要使用的版本,单击 [完成]
  5. Java构建路径,单击 [确定]
  6. 在项目资源管理器中,选择您的ICanToggleACell.java类,右键单击它,然后单击“运行方式”,然后单击“ JUnit Test”

因此,这与上面的示例代码相同。StackBehavIoUrStory.java在将适当的库添加到Java构建路径后,该类应让自己作为JUnit测试运行。

解决方法

尽管我读了很多,但是关于如何使用JBehave的文章很多,但我无法使它正常工作。这是我到目前为止所执行的步骤:

  1. 创建了新的Java项目
  2. 下载了JBehave JAR文件版本3.6.8,并将其添加到我的构建路径库中
  3. com.wmi.tutorials.bdd.stack.specs在我的工作区中的test source文件夹下创建了一个名为的包
  4. 将JBehave JAR文件添加到我的构建路径库配置中
  5. 在上述包(StackBehaviourStories.story)中创建了一个JBehave故事
  6. 在上述包(StackBehaviourStory.java)中创建了Java类
  7. 在上述包(StackBehaviourSteps.java)中创建了一个Java类。
  8. 在我的Java类中导入了Given,Named,When,When批注
  9. 在我的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所需的一切配合使用,是的,按照Eclipse
JBehave安装教程正确安装了JBehave。

我无法正常工作。那么如何使用Eclipse,JBehave和JUnit使其正常工作?

猜你在找的技术问答相关文章

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
Java中的RESTful调用
Swing / Java:如何正确使用getText和setText字符串
特殊字符和重音字符
Android Studio中的ndk.dir错误
错误“找不到主类”