使用PyDev开发行为步骤

3 投票
1 回答
2164 浏览
提问于 2025-04-17 16:21

Behave 是一个很棒的工具,用于在 Python 中进行行为驱动开发。不过,我在和 PyDev 一起使用时遇到了两个问题:

  1. PyDev 无法识别 behave 的 @given@when@then 注解。这可能是因为 behave 在 behave 包中做了一些命名上的处理。
  2. 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 的分析。

有没有什么建议可以解决这个问题呢?

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的设置:在菜单中选择窗口 -> 首选项 -> PyDev -> 解释器 -> Python解释器。有时候,如果在配置了解释器后添加了新的库,删除再重新添加Python解释器可能会有帮助,这样可以把新的库包含在Eclipse的系统 PYTHONPATH 中。

  2. 试着在方法名的末尾加上 #@,后面跟着用驼峰命名法写的信息,这样可以关闭PyDev中的警告信息。比如:

    def step(context): #@DuplicatedSignature
    

撰写回答