多个python Behave环境安装文件

前端之家收集整理的这篇文章主要介绍了多个python Behave环境安装文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我试图摆脱行为框架中的某些标准并遇到一些问题.是否可以拥有多个具有before *和after *钩子的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文件中的* hook之后获取我之前的*.

我想将这些分开而不是在功能目录中用于组织目的.文件设置一些对象并将它们附加到上下文以跟踪某些步骤之间的数据

最佳答案
只有2年的晚了,但这是我的看法……

Behave不允许您整理文件的灵活性.见:

此外,Behave不会以递归方式搜索它运行的目录.也就是说,Behave只查看.feature文件的当前(或指定)目录,并仅查找feature / steps /目录中的.py文件 – 不再进一步查看.

据我所知,您可以利用Behave的“标记功能在运行测试时添加一些组织.功能文件和步骤实现的良好命名约定也将有很长的路要走.

我自己并没有广泛尝试过,但是有一个叫做“行为主”的东西,允许你从“主”文件控制一个Behave实例,类似于Java的主要方法.假设您可以使用此功能,逐个运行各个行为测试,每个测试都有自己的环境,功能和步骤.

猜你在找的Python相关文章