我正在使用LiClipse / PyDev。当我通过右键单击->运行作为-> python从package运行一些测试或其他python模块时,工作目录被设置为相应文件的目录,例如${->_loc:MyProject/->/misc}。
不过,我希望从项目的根文件夹执行所有内容。在run configurations ->参数下,可以通过按钮"default“来选择该文件夹,该按钮将工作目录设置为${ project _loc:/selected project name}。不幸的是,“默认”按钮显然不是默认选择的,而是像上面描述的目录设置的“其他”选项。
当有许多测试模块时,手动为每个模块选择这个“默认”按钮有点烦人。那么,如何让LiClipse在默认情况下实际选择该按钮?还是在默认情况下以其他方式使用项目目录作为工作目录?
以前也有过类似的问题,但没有一个令人满意的答案:Configuring the working directory in Eclipse 3.8.1 with PyDev-project。唯一的结论是Eclipse错误不允许配置默认选项的值,但这对我来说并不是必要的。我只希望实际选择这个选项。
这个问题可能是特定于PyDev的,因为看起来Eclipse通常会根据我所读到的内容选择“默认”选项。
发布于 2016-05-22 13:52:24
嗯,不幸的是,正如您所发现的,实际上无法在IDE中设置默认设置。
不过,为了解决与测试相关的问题,我的建议是使用pytest运行程序(您可能必须安装它-在:https://pytest.org/latest/getting-started.html上安装说明,然后在PyDev > PyUnit首选项中设置使用pytest运行程序的设置).请注意,即使您不使用pytest编写测试的方法(我强烈建议使用这种方法),并且使用unittest.TestCase,它也应该可以工作.
当运行pytest时,PyDev需要遵循不同的逻辑,因为它处理和加载其固定装置,这使得它总是使用相同的文件夹(我认为它是源文件夹,但是如果您使用的源文件夹和项目文件夹相同,那么在pytest中,如果不是这样的话,创建一个会话自动使用的夹具就很简单了,您可以用它将工作目录更改为给定的文件夹(使用unittest.TestCase,这是比较困难的,因为您受到测试类层次结构的限制),但是,您也可以重写测试的setUp来实现这一点)。
https://stackoverflow.com/questions/37362147
复制相似问题