行为。使用步骤匹配器|如何巧妙或有效地使用它?|好的设计原则?

2024-04-25 05:17:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一些关于如何巧妙或有效地使用behave的指导。请使用步骤匹配器()

因此,我通过在environment.py文件中的所有导入之后声明behave.use_step_matcher('parse'),将所有特性的默认匹配器初始化为parse

现在在步骤文件中,对于某些步骤,我需要使用behave.use_step_matcher('re')。所以我只在这些步骤之前提到它

现在在environment.py文件中的after_step(context, step)钩子中,我重置为使用behave.use_step_matcher('parse')匹配器

我的问题是,在将matcher更改为“re”的任何步骤之后,需要matcher为“parse”的其他步骤都不起作用。

我找到的一个解决方案是明确地在所有步骤中提到use_step_matcher

但是https://jenisys.github.io/behave.example/step_matcher/using_matchers.html说,为了为所有特性设置默认匹配器,environment.py文件中设置它,我已经这样做了

另外,我正在将matcher重置回environment.py文件中的after_step钩子中的parse

  1. 那么为什么它不起作用呢

  2. 你能帮我更好地理解它吗

另外,在将来,我计划实现步骤库,并在行为步骤中调用行为步骤(一个调用步骤的步骤)。在这种情况下,如果父步骤使用“matcher1”,但嵌套步骤使用不同的匹配器(考虑到我们可以创建自定义匹配器)

  1. 那么,管理matchers的最佳实践是什么

如果你能指导我完成这件事,我将非常感激

谢谢你

附言:

  1. 我对behave&;python,我读过https://github.com/behave/behave/issues/613,但什么都不懂(

Tags: 文件pyreenvironmentparseusestep步骤