3

Behave是 Python 中行为驱动开发的绝佳工具。然而,结合 PyDev 我有两个问题:

  1. PyDev 无法解析行为的@given,@when@then注释。这可能会发生,因为行为确实对behave包进行了一些名称魔术。
  2. 行为建议命名所有方法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 分析。

任何建议如何解决这个问题?

4

1 回答 1

0
  1. 只是一个猜测。您是否尝试过导入重新定义?

    from behave import given as given_behaviour, when as when_behaviour, then as then_behaviour
    @given_behaviour('I navigate to Google')
    

    您还可以检查 eclipse 设置:菜单 Window -> Preferences -> PyDev -> Interpreters -> Python Interpreters。PYTHONPATH有时,如果在配置解释器之后添加了新库以将这些库包含在 eclipse中的系统中,则删除并重新添加 python 解释器可能会有所帮助。

  2. 尝试#@在方法名称末尾添加驼峰式消息,以关闭 PyDev 中的警告消息。就像是:

    def step(context): #@DuplicatedSignature
    
于 2014-01-19T18:52:44.273 回答