我试图脱离行为框架中的某些标准并遇到一些问题。是否可以有多个具有 before* 和 after* Hook 的 environment.py 文件?
我正在为一套微服务编写测试工具。我有以下目录树。
root
|-- step_defintions
| |-- service1
| |-- environment.py
| |-- __init__.py (steps, imports root.step_defintions.service1.envrionment)
| |-- service2
| |-- environment.py
| |-- __init__.py (steps, imports root.step_defintions.service2.envrionment)
|-- features
| |-- environment.py
| |-- steps
| |-- __init__.py (imports root.step_definitions *)
| |-- service1
| |-- 000_service1.feature
| |-- 001_service1.feature
| |-- service2
| |-- 000_service2.feature
我的问题是它似乎没有在 step_definitions/service[1|2]/envrionment.py 文件中提取我的 before*,after* Hook 。
出于组织目的,我希望将这些分开而不是放在功能目录中。这些文件设置了一些对象并将它们附加到上下文以跟踪某些步骤之间的数据
最佳答案
只晚了 2 年,但这是我的看法......
此外,Behave 不会递归地搜索它在其中运行的目录。也就是说,Behave 仅查看当前(或指定)目录中的 .feature
文件,并且仅查看 feature/steps/
中的 .py
文件> 目录--没有进一步的。
据我所知,您可以利用 Behave 的“标记”功能在运行测试时添加一些组织。特征文件和步骤实现的良好命名约定也将大有帮助。
我自己还没有广泛尝试过,但是有一个叫做“behave main”的东西允许你从一个“main”文件中控制一个 Behave 的实例,类似于 Java 的 main 方法。假设使用它,您可以一个接一个地运行单独的 Behave 测试,每个测试都有自己的环境、功能和步骤。
关于python - 多个python Behave环境设置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39726455/