Behave 特征文件


如前所述,Behave 适用于三种不同的文件类型。这些文件如下:

  • 功能文件 它们由业务分析师或任何项目利益相关者创建,并包含与Behave 相关的用例。

  • 步骤实现文件 对于功能文件中定义的场景。

  • 环境设置文件 前置/后置条件将在步骤、功能、场景等之前和之后执行。

功能文件应位于称为功能的文件夹中。此外,功能目录中应该有一个子目录steps。

你的电脑上会出现以下画面:

Features Directory

启动功能文件

我们可以使用各种命令行参数启动功能文件,如下所述:

  • 如果没有可用信息,则应加载 features 目录中的所有功能文件以在 Behave 中执行。

  • 如果提供了 features 目录的路径,则必须在 features 目录中至少有一个 feature 文件(带有 .feature 扩展名)和一个名为 steps 的子目录。

  • 此外,如果 environment.py 存在,它应该在包含步骤目录的目录中,而不是在步骤目录中。

  • 如果提供了功能文件的路径,则它会指示 Behave 搜索它。要获取该功能文件的相应步骤目录,请搜索父目录。

  • 如果在当前父目录中找不到,则搜索其父目录。这将一直持续到它到达文件系统根目录。此外,如果 environment.py 存在,它应该在包含步骤目录的目录中,而不是在步骤目录中。

特征文件的结构


功能由场景组成。它们可能/可能不包含描述、背景和一组标签。

一个特征文件的结构如下:

特征文件

特征文件的格式如下:

Feature: Verify book name added in Library
    Scenario: Verify Book name
        Given Book details
        Then Verify book name

相应的步骤实现文件。

对应的步骤实现文件如下:

from behave import *
@given('Book details')
def impl_bk(context):
        print('Book details entered')
@then('Verify book name')
def impl_bk(context):
        print('Verify book name')

运行特征文件后得到的输出如下:

Feature and Scenario Names

输出显示功能和场景名称,以及测试结果和测试执行的持续时间。