我如何 运行 从 Python 函数执行测试?

How can I run Behave tests from a Python function?

我有一组 Behave (1.2.6) 功能和场景,它们都可以单独正常工作。但是基于某些初始条件,我需要按特定顺序 运行 它们的子集。我知道这不是执行 BDD 的正确方法(每个测试都应该是独立的,有自己的设置和拆卸),但这些是针对实际部署的 Web 应用程序的集成测试(没有模拟),并且设置和拆卸花费的时间太长.

我可以从一个 shell 脚本驱动它,该脚本 运行 在单独的行为 运行 中对每个测试进行测试。但我想要一个 python 驱动程序函数来检查初始条件,运行 按正确顺序请求的测试集,并输出组合摘要统计信息。

那么如何从 Python 函数调用 Behave 场景?

您可以导入主函数并运行它:

from behave.__main__ import main

main("--tags smoke")