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/

10-13 04:55