van*_*sha 7 python bdd cucumber
我是Cucumber框架的新手。我正在尝试使Cucumber与Python一起使用。我已经编写了功能文件,并且想知道如何在Python中编写步骤定义。
我在互联网上搜索,找到了Ruby语言的步骤定义,但没有找到Python的步骤定义。甚至可以用Python运行Cucumber吗?
查看行为,行为驱动的开发库,Python风格。
行为驱动开发(BDD)是一种敏捷的软件开发技术,可鼓励软件项目中的开发人员,QA与非技术或业务参与者之间进行协作。我们有一页进一步描述了这种哲学。
行为使用以自然语言样式编写的测试,并由Python代码支持。
它不使用Cucumber,但是您可以重用.feature
文件,因为它们使用相同的Gherkin语言。
示例行为的步骤定义:
from behave import *
@given('we have behave installed')
def step_impl(context):
pass
@when('we implement a test')
def step_impl(context):
assert True is not False
@then('behave will test it for us!')
def step_impl(context):
assert context.failed is False
Run Code Online (Sandbox Code Playgroud)
Cucumber 目前支持 14 种语言,包括 JVM 上的 Python(也称为 Jython)。
我将从阅读Cucumber-JVM开始,它是 JVM 的 Cucumber 实现。要使用Java 6/7,这样您就可以使用Cucumber API。您需要使用 Java 注释编写 Python 方法,以告诉 Cucumber 哪些正则表达式与每个方法相关。
这听起来像是很多间接的,但它相当简单:
小黄瓜:
Scenario: Some cukes
Given I have 48 cukes in my belly
Run Code Online (Sandbox Code Playgroud)
Python/Jython:
@Given('^I have (\d+) cukes in my belly')
def i_have_cukes_in_my_belly(self, cukes):
print "Cukes: " + cukes
Run Code Online (Sandbox Code Playgroud)
这是从每个代码示例一角的黄瓜参考页面(断开的链接)复制的(不是小黄瓜,而是步骤定义),您可以选择您选择的语言。
该文档不完整,但如果完整,则很有用。它确实包含您的 Maven 配置条目(如果您正在使用它)以及基本使用所需的大部分信息。只要您熟悉从 Jython 调用Java,您在 Web 上其他地方找到的有关 Java 中的 Cucumber 的任何文档都应该适用于 Jython 。
归档时间: |
|
查看次数: |
11791 次 |
最近记录: |