Lettuce:功能、场景和步骤参考

功能、场景和具有Lettuce的功能引擎的Python对象的步骤。
在这里,你会发现关于这些对象的非常“繁琐”的细节。如果你在这里找不到一个好的介绍,你可能去阅读feature的介绍比较好。
为了举例说明下面的属性和方法的使用,我们认为有一个功能文件叫做some.feature

# language: en
# just a comment

# another one
Feature: some feature
  Here comes
  The feature
  Description

  Scenario: try out something
    Given I show lettuce running
    Then I should be happy

功能

Feature.name

包含了功能名字的字符串

feature.name == 'some feature'

Feature.scenarios

场景对象列表
场景竖线可以如下使用

feature.scenarios[0].name == 'try out something'

Feature.described_at

一个功能描述对象,有对功能进行了介绍的文件和行。Lettuce使用它输出这些元数据。
属性described_at可以如下使用

# the line in which the feature started
feature.described_at.line == 5

# the filename path
'some.feature' in feature.described_at.file

# a tuple with the lines that contains the feature description
feature.described_at.description_at == (6, 7, 8)

Feature.max_length

计算组成该功能的所有行的最大长度的属性。
主要用于shell输出,查找哪里打印功能描述。
例如:

feature.max_length == 21

Feature.get_head

以当前语言中的第一个陈述来表示这个功能,后面是冒号和功能名。
例如:

feature.get_head() == 'Feature: some feature'

但是,如果用巴西葡萄牙语编写同样的功能,例如:

# language: pt-br
# apenas um comentário

# e outro
Funcionalidade: alguma funcionalidade
  Aqui vem
  a descrição
  da funcionalidade

  Cenário: ...
    ...

Feature.get_head()将会给出

feature.get_head() == 'Funcionalidade: alguma funcionalidade'

totalresult

totalresult.features_ran

整数,执行过的全部功能

totalresult.features_passed

整数,执行通过的全部功能

totalresult.scenarios_ran

整数,执行过的所有场景

totalresult.scenarios_passed

整数,执行通过的所有场景

totalresult.steps

整数,执行过的步骤数

totalresult.proposed_definitions

没有步骤定义的步骤列表

场景

scenario.steps

场景对象列表
场景属性可以如下使用

scenario.steps[0].sentence == 'try out something'

步骤

Step.sentence

展示步骤字符串

step.sentence == 'Given I show lettuce running'

Step.passed

布尔类型,如果步骤执行正确

Step.failed

布尔类型,如果步骤在执行中出错

step definition

一个可用于任何Python函数的修饰,以一个正则表达式字符串作为参数,函数参照以下步骤。

from lettuce import step

@step('I am (happy|sad)')
def show_lettuce_running_here(step, action):
    if action == 'happy':
        return # everything is fine!

    else:
        assert False, 'you should be happy, dude!'

上一篇:Lettuce: Command Line
下一篇:Lettuce: Terrian

你可能感兴趣的:(Lettuce:功能、场景和步骤参考)