1

我们刚刚开始研究使用 JBehave 进行验收测试,我想知道使用它的人如何组织故事的编写和故事文件的存储。目前只是对它们进行开发,因此我们将故事文件存储在资源文件夹中,并与 Java 代码一起实现它们。

我想我的实际问题是你如何以及在哪里存储你的故事文件,以及这如何与产品所有者或 QA 编写故事一起工作?

4

2 回答 2

3

@MrWiggles
正如 t0rx 所说,你很幸运有 QA 来编写故事/场景。
来回答您的问题:
行为驱动开发鼓励您通过以文本格式表达所需行为的场景来定义故事。
您可以通过在 Maven (pom.xml) 中进行配置来运行 JBehave Stories。

您可以在包结构中创建一个用于存储故事文件的文件夹,如下所示:

Your_Project
      |
      |
      |--Source_Code
      |
      |--Stories
      |
      |--Testing
      |
      *pom.xml

通过在 Maven 中配置您的故事,每次构建项目时,它都会给出成功和失败的故事/场景结果。
QA 将更新文件夹 Stories 中的场景,开发人员将通过省略现有步骤(已经开发并在其他场景中出现)逐步实现场景。
QA 只需运行场景/故事,他就会以文本(可理解的)格式找出结果。
如下所示: 在此处输入图像描述

测试级别中的行为驱动开发。 在此处输入图像描述

JBehave 的一些特性集中在易于组织上。

  • 基于注解的配置和 Steps 类规范
  • 依赖注入支持允许通过您最喜欢的容器 ( Guice, PicoContainer, Spring) 组合配置和步骤实例。
  • 可扩展的故事报告:输出以不同的人类可读的基于文件的格式执行的故事 ( HTML, TXT, XML)。完全可样式化的视图。
  • 自动生成未决步骤,因此构建不会因缺少步骤而中断,但可以选择为未决步骤配置中断构建。
  • 用户故事的本地化,允许它们以任何语言编写。
  • IDE 集成:故事可以作为JUnit测试或其他基于注释的单元测试框架运行,提供与您最喜欢的 IDE 的轻松集成。
  • Ant 集成:允许通过 Ant 任务运行故事
  • Maven 集成:允许在给定的构建阶段通过 Maven 插件运行故事
于 2011-12-26T08:47:51.587 回答
1

如果您有幸让产品负责人或 QA 编写故事,那么您可能希望将它们放在源代码存储库的特定区域中,这样您就可以独立于主要源来控制访问(并且还可以在 CI 构建时为您提供更大的灵活性)如果你这样做会触发)。

您可能会发现很多来回操作,以尽量减少开发人员必须编写的新步骤的数量(即停止他们使用十种不同的方式来编写相同的步骤),因此还需要运行未决步骤而不是使场景失败(这是开箱即用的默认设置)。

另一种方法是 QA/产品负责人将场景发送给开发人员,然后他们在添加到源代码控制之前对其进行清理,但这会使开发人员重新投入精力。

于 2010-11-20T18:34:54.677 回答