在PyDev/LiClipse/Eclipse中设置默认工作目录



我正在使用LiClipse/PyDev。当我通过右键单击->运行为->python运行从包资源管理器运行某个测试或其他python模块时,工作目录被设置为相应文件的目录,例如${workspace_loc:MyProject/tests/misc}。

不过,我希望所有内容都能从项目的根文件夹中执行。在run configurations->arguments下,可以通过按钮"default"选择该文件夹,该按钮将工作目录设置为${project_loc:/selected project-name}。不幸的是,"默认"按钮显然不是默认选择的,而是如上所述设置目录的"其他"选项。

当有很多测试模块时,为每个模块手动选择这个"默认"按钮会变得有点烦人。那么,我如何让LiClipse在默认情况下真正选择该按钮呢?或者以其他方式默认使用项目目录作为工作目录?

以前也有人问过类似的问题,但没有一个令人满意的答案:用PyDev项目在Eclipse 3.8.1中配置工作目录。唯一的结论是Eclipse错误不允许配置默认选项的值,但这对我的目的来说并不是必需的。我只想实际选择此选项。

这个问题可能是PyDev特有的,因为Eclipse似乎通常会根据我读到的内容选择"默认"选项。

不幸的是,正如您所发现的,实际上没有办法在IDE中设置默认值。

不过,为了解决与测试相关的问题,我的建议是使用pytest runner(您可能必须安装它——说明如下:https://pytest.org/latest/getting-started.html然后在PyDev>PyUnit首选项中设置使用pytest运行程序的设置)。。。需要注意的是,即使您不会使用pytest编写测试的方式(我强烈建议您这样做),也可以使用unittest。TestCase,它应该工作。。。

当运行pytest时,PyDev需要遵循不同的逻辑,因为它处理和加载固定装置的方式使它始终使用相同的文件夹(我认为这是源文件夹,但如果您使用源文件夹和项目文件夹,它应该可以工作——如果不是这样,在pytest中,创建一个会话自动使用固定装置是很简单的,您可以使用它将工作目录更改为给定的文件夹(对于unittest.TestCase,这更难做到,因为您受到测试类层次结构的约束,但您也可以覆盖测试的设置来做到这一点)。

最新更新