可以有一个包含空值的场景大纲表吗?

2022-05-06 00:00:00 python bdd gherkin

问题描述

场景大纲:废话连篇 当我在输入字段中输入和时 那么一切都很好

示例:
|a|b|
|1|2|
| ; ;|3|

上述方案在BBD行为中引发以下错误 测试未定义 请定义测试

我不确定我如何才能解决这个问题。 有什么建议吗?


解决方案

使用https://pypi.org/project/parse/

中介绍的Custom Type Conversions
import parse

from behave import given, register_type


@parse.with_pattern(r'.*')
def parse_nullable_string(text):
    return text


register_type(NullableString=parse_nullable_string)

@given('params "{a:NullableString}" and "{b:NullableString}"'
def set_params(context, a, b):
  # a or b will be empty if they are blank in the Examples
  context.a = a
  context.b = b

现在功能文件可能如下所示

Given params "<a>" and "<b>"
# Rest of the steps
Examples:
 | a | b |
 | 1 | 2 |
 |   | 3 |

相关文章