问题标签 [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.
python - 将 Behave 或 Lettuce 与 Python 单元测试集成
我正在用 Python 研究 BDD。结果的验证是一种拖累,因为正在验证的结果不会在失败时打印。
比较行为输出:
到 SpecFlow+NUnit 输出:
使用 SpecFlow 输出查找故障原因要快得多。要获取错误的变量内容,必须手动将它们放入字符串中。
从生菜教程:
从行为教程:
将此与Python unittest进行比较:
导致:
但是,Python unittest 中的方法不能在TestCase
实例外部使用。
有没有一种好方法可以将 Python unittest 的所有优点集成到 Behave 或 Lettuce 中?
logging - 记录传递给行为的命令行选项
我正在使用命令行选项启动 python-behave,例如(测试输出正在写入日志文件)
我想记录正在传递哪些命令行选项以在日志文件中运行,但我无法在文档中找到如何操作。我尝试在我的 environment.py 中使用@capture
with before_all
hook(没有新记录)
更新:我只需要记录 -D 选项并将它们包含在相关的 json 输出中。
有谁知道如何设置自定义登录行为?谢谢!
logging - 如何捕获失败步骤的堆栈跟踪和异常
我是 Behave 的新手,不熟悉它的日志捕获范例。
当某个步骤由于异常而失败时,我需要提取堆栈跟踪(回溯)以进行自定义处理。
我怎样才能捕捉到这些信息?
谢谢!
编辑:我不是在问如何捕获预期的异常。相反,我问的是如何获取失败测试的堆栈跟踪。
这一定是我在文档中找不到的 Behave 框架的基本功能。我不是在寻找任何不寻常的东西。
python-behave - 如何使用 python 在 Behave 中重试失败的场景
有人可以告诉我如何使用 Python 在 Behave 中再次运行失败的测试吗?
如果失败,我想自动重新运行失败的测试用例。
python - 如何使用 python 行为排除多个模式
我有 10 个功能文件,我想从中排除 api.feature 和 integration.feature 。我如何使用行为来做到这一点?
以上 2 个选项均无效。
python - 在 python-behave 中循环执行 n-1 次
我有一个行为步骤,它调用另一个 python 类中的方法,如下所示
JSONUtil类中的parsejson方法如下
执行此步骤时。我得到以下输出
但是当通过以下方式调用 parsejson 方法时
我得到以下输出
关于为什么使用行为调用代码时执行for循环n-1次的任何原因/指针?
python-behave - 如何从另一个场景执行一个场景?
下面是我想在另一个场景中执行一个场景的示例。有没有办法做到这一点?
python - 如何只运行一半的 python 行为测试
我们有两台机器,目的是将我们的测试分散到机器上,以加快测试速度。我想知道一种方法来告诉行为运行一半的测试。我知道--tags参数,但这太麻烦了,因为当测试套件增长时,如果我们希望将其保持在中间点,我们的--tags参数也必须如此。我还需要知道另一半的哪些测试没有运行,这样我就可以在另一台机器上运行这些测试。
TL;DR 有没有一种简单的方法可以让行为动态地运行一半的测试?(这不包括通过使用--tags指定哪些测试)
有没有办法找到另一半没有运行的测试?
谢谢
python - 无法从命令行运行行为
我正在尝试从命令行运行行为(使用 cmder & sublime text 3),但我得到以下输出
我也提到了这个github线程,我不太明白。
python - Windows 上的 Python Behave + 非 ascii 步骤
Python BDD 框架 Behave 在其runner.py
如您所见,没有为open
. 根据其文档,locale.getpreferredencoding
用于此类情况。
但是在 Windows 上,这个函数总是返回一个字节的字符集(所谓的“非 unicode 程序的字符集”)。拉丁语是 Windows-1252,西里尔语是 Windows-1251 等。
因此,UTF-8 py 文件总是被破坏。
我的问题是,如果不想使用 1 字节字符集,如何在 Windows 上使用非 ascii 步骤定义和 Behave?