我正在使用LiClipse / PyDev。当我通过右键单击包浏览器运行一些测试或其他python模块时 - >以 - >运行python run,工作目录设置为相应文件的目录,例如, $ {workspace_loc:MyProject的/测试/杂项}
。我希望从项目的根文件夹中执行所有操作。在运行配置下 - >参数,可以通过按钮“default”选择该文件夹,该按钮将工作目录设置为$ {project_loc:/ selected project name}。不幸的是,默认情况下没有选择“默认”按钮,而是选择“其他”选项,目录设置如上所述。
当拥有许多测试模块时,为每个模块手动选择这个“默认”按钮会变得有点烦人。那么如何让LiClipse默认实际选择该按钮呢?或者以其他方式默认使用项目目录作为工作目录?
之前已经提出了类似的问题,但没有令人满意的答案:Configuring the working directory in Eclipse 3.8.1 with PyDev-project。唯一的结论是Eclipse错误不允许配置默认选项的值,但这不是我的目的所必需的。我只想要实际选择这个选项。
问题可能是PyDev特有的,因为Eclipse似乎通常根据我读到的内容选择了“默认”选项。
答案 0 :(得分:1)
嗯,不幸的是,正如您所发现的那样,在IDE中无法设置默认值。
仍然,为了解决与测试相关的问题,我的建议是使用pytest runner(你可能必须安装它 - 说明:https://pytest.org/latest/getting-started.html然后在PyDev> PyUnit首选项中设置设置使用pytest runner)...作为一个注释,即使你不会使用pytest编写测试的方式(我强烈推荐),并使用unittest.TestCase,它应该工作...
当运行pytest时,PyDev需要遵循不同的逻辑,因为它如何处理并加载其固定装置,使其始终使用相同的文件夹(我认为它是源文件夹,但是如果你'使用源文件夹和项目文件夹同样应该工作 - 如果不是这样,在pytest中,创建一个可用于更改的会话自动使用夹具是微不足道的给定文件夹的工作目录(使用unittest.TestCase,这很难做到,因为你通过测试类层次结构约束,但你也可以覆盖测试的setUp来做到这一点。)