Behave是Python中行为驱动开发的一个很好的工具。然而,结合PyDev,我有两个问题:
PyDev无法解析behave的@given
、@when
和@then
注释。这可能是因为behave对behave
包做了一些名称魔术。
behave建议命名所有方法step
,因为每个方法都有一个定义“实名”的注释。PyDev抱怨这些“重复”方法。
例子:
from behave import given, when, then
@given('I navigate to Google')
def step(context):
# ...
@when('I enter coffee into the search field')
def step(context):
# ...
现在,我通过包含
#@PydevCodeAnalysisIgnore
来解决这两个问题,这会关闭任何PyDev分析。我想保留代码所有其他部分的PyDev分析。有什么解决办法吗?
最佳答案
只是一个猜测。你试过重新定义导入吗?
from behave import given as given_behaviour, when as when_behaviour, then as then_behaviour
@given_behaviour('I navigate to Google')
您还可以检查eclipse设置:菜单窗口->首选项->PyDev->解释器->Python解释器。有时,如果在配置了python解释器之后添加了新的库,以便在eclipse中包含系统
PYTHONPATH
中的库,那么删除和重新添加python解释器可能会有帮助。尝试在方法名的末尾添加
#@
后跟camel大小写的消息,以关闭PyDev中的警告消息。类似于:def step(context): #@DuplicatedSignature
关于python - 使用PyDev开发行为步骤,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14955100/