问题标签 [python-behave]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4443 浏览

python - 行为:如何从另一个文件导入步骤?

我刚刚开始使用行为,一个使用Gherkin 语法的 Pythonic BDD 框架。行为具有特征,例如:

还有一个步骤文件,例如:

并将它们组合成漂亮的测试报告:

试验结果

其中一些步骤 - 例如:

  • metadata response is JSON
  • response status code is {expected_status_code}

在我的许多项目中都使用过,我想将它们分组到一个可以导入和重用的通用步骤文件中。

我尝试将有用的步骤提取到一个单独的文件并导入它,但收到以下错误:

如何创建通用步骤文件并导入它?

0 投票
2 回答
1775 浏览

python - Python:在 setuptools 的 setup.py 中进行行为集成

我编写了一个用于处理文件权限的小实用程序包。结构遵循Python 包标准

鼻子和行为都可以从命令行运行测试,没有问题:

鼻子:

表现:

我的setup.py文件包含以下测试规范:

因此python setup.py test以与 . 相同的输出运行鼻子测试nosetests

如何将行为配置为包的测试工具,以便python setup.py test运行行为?

0 投票
4 回答
8909 浏览

cucumber - 如何准确查看 Behave 中出了什么问题

我们最近开始将Behave(github 链接)用于新的 Python Web 服务的 BDD。

问题

有什么方法可以在测试失败时获得有关失败原因的详细信息?他们抛出AssertionError,但他们从不显示到底出了什么问题。例如,进入断言的预期值和实际值。

我们一直在尝试找到这样的现有功能,但我想它不存在。当然,这个问题的一个好的答案是提示和提示如何通过修改源代码来实现这种行为,以及这个特性是否存在于其他类似的 BDD 框架中,如 jBehave、NBehave 或 Cucumber?

例子

今天,当测试失败时,输出显示:

我想要更多类似的东西:

如您所见,我们通用步骤中的断言清楚地打印出来

但我宁愿有一个像

或任何其他可以从失败的断言中生成动态消息的东西。

0 投票
1 回答
4558 浏览

python - Test coverage tool for Behave test framework

We are using Behave BDD tool for automating API's. Is there any tool which give code coverage using our behave cases?

We tried using coverage module, it didn't work with Behave.

0 投票
4 回答
14118 浏览

python - 将命令行参数传递给 python-behave

我正在使用 python-behave 进行 BDD 测试,我必须从命令行传递一个 URL(例如 www.abc.com)。

为了实现这一点,我已经阅读了行为文档,但没有足够的材料以及为设置行为.ini 文件提供的解释。我也不确定behaviour.ini 文件如何帮助我传递参数。

有人可以告诉我如何为行为设置命令行参数吗?

0 投票
2 回答
1712 浏览

bdd - 为单元测试和功能测试重新使用 Python 的行为特征文件

以下 Gherking 测试定义了我的一台服务器的所需行为:

我编写了这段代码用于对 Flask 服务器进行单元测试。解释 Gherkin 指令的步骤文件打开一个测试客户端并进行必要的调用和断言:

功能文件与单元测试和功能测试类似。唯一的区别在于几个步骤文件,它必须进行 HTTP 调用,而不是调用测试客户端的方法。

通过将参数传递给步骤文件来重用此behave功能文件的正确方法是什么?

0 投票
4 回答
3197 浏览

python - 如何使用 Behave 从 Python BDD 功能测试中获取代码覆盖率数据?

我还没有看到这个特定问题的答案(行为测试框架的测试覆盖工具),也没有看到任何谷歌搜索结果产生足够的答案。所以...

如何从 Behave 获取代码覆盖率报告?我很难相信没有 Python 开发人员使用 BDD 方法,而且我更难以相信那些使用 BDD 的 Python 开发人员在没有从他们的功能测试中获得代码覆盖率统计数据的情况下这样做。Coverage.py 可以用来驱动 Behave 产生代码覆盖率吗?如何?

0 投票
1 回答
775 浏览

acceptance-testing - 生成 Django 行为代码

我正在使用行为来对我的 Django 应用程序进行验收测试。是否有可能生成实际测试所需的 python 代码?到目前为止,我所拥有的骨架如下:

0 投票
3 回答
4864 浏览

python - 向 Behave 方法添加公共属性

使用出色的Behave框架,但因缺乏 OOP 技能而遇到麻烦。

Behave 有一个内置的上下文命名空间,可以在其中在测试执行步骤之间共享对象。初始化我的 WebDriver 会话后,我一直在我的步骤之间传递它,使用它context来保存所有内容。功能很好,但正如您在下面看到的,它绝不是 DRY。

我如何/在哪里可以将这些属性添加到step_impl()orcontext一次?

环境.py

步骤.py

0 投票
6 回答
28789 浏览

python - 如何在行为 (BDD) 中查看 print() 语句

上下文:我正在使用 Python with Behave (BDD)。

无论我是从命令行(行为)还是从自定义 main() 运行测试,行为都是相同的:测试运行并且我在控制台中看到的唯一输出是标准 BDD 报告。

我的测试包括帮助我调试代码的 print() 语句。但是,当我运行行为时,这些打印语句都没有显示在控制台输出中。

有什么方法可以让我们“表现”在我们的代码中显示打印语句?

我的主要()

我的 test.feature 文件:

我的 test_steps.py 文件: