当前位置: 首页 > 面试题库 >

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

徐阳炎
2023-03-14
问题内容

尽管我读了很多,但是关于如何使用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使其正常工作?


问题答案:

紧紧按照本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测试运行。



 类似资料:
  • 本文向大家介绍Windows下MongoDb简单配置教程,包括了Windows下MongoDb简单配置教程的使用技巧和注意事项,需要的朋友参考一下 如何在Windows下对MongoDb进行简单的配置,本文为大家解答。 以管理员的启动cmd 进入安装目录下 输入:mongod --auth --port 3406 --dbpath=库地址 --logpath= 全地址 --install --se

  • git 是 Linux 之父 Linux 开发的开源的分布式版本控制系统,通常用于代码的版本控制。和 SVN 这样依赖中心服务器的版本控制系统不同的是,git 是分布式的,因此被称为分布式版本控制系统。 基本概念 代码仓库:一般是指正在使用 git 的项目及其所有记录版本。 提交:提交是 git 版本控制的最小单位,每个提交都有一个 UUID 作为区分,以及提交信息作为注释。 HEAD:当前代码库

  • 本文向大家介绍CentOS服务器iptables配置简单教程,包括了CentOS服务器iptables配置简单教程的使用技巧和注意事项,需要的朋友参考一下 iptables是Linux类服务器重要的网络安全防范系统工具,考虑到多数服务器有专门的团队托管,服务器管理员多数时间只能通过SSH进行远程管理,在安全允许的情况下,保证SSH的合法联通,需要做如下的配置。   这样能够保证SSH的22端口得到

  • 本文向大家介绍Windows下Redis安装配置简单教程,包括了Windows下Redis安装配置简单教程的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Redis安装教程,供大家参考,具体内容如下 1.安装Redis 通过以上路径下载后解压到具体文件夹,解压后的文件如下: 通过cmd切换到解压的文件夹目录,然后键入如下命令:redis-server --service-install

  • 问题内容: 我创建了一个新文件。所谓 然后在那里我做: 我想在另一个class()中使用它, 很好,但是当我深入研究错误时。 问题答案: 您不能只是拥有一个init。该变量必须在类顶层声明。 使用单例的示例: 当需要在另一个类中使用单例时,只需在另一个类中执行此操作: 按照Martin R和Caleb的评论进行更新: 我已将初始化程序设为私有。它在其他Swift文件中阻止的初始化,从而只能通过使用

  • 初始化应用 让我们来开发一个简单的应用,通过这个应用可以学习到开发单页面应用所需的主要知识。 首先在项目文件夹下创建应用的入口文件 index.html: <!doctype html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scal