1

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

我希望一切都从项目的根文件夹执行。在运行配置 -> 参数下,可以通过“默认”按钮选择该文件夹,该按钮将工作目录设置为 ${project_loc:/selected project name}。不幸的是,默认情况下显然没有选择“默认”按钮,而是选择了如上所述设置目录的“其他”选项。

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

之前已经问过一个类似的问题,但没有一个令人满意的答案:Configuring the working directory in Eclipse 3.8.1 with PyDev-project。唯一的结论是 Eclipse 错误不允许配置默认选项的值,尽管这对于我的目的不是必需的。我只希望实际选择此选项。

该问题可能特定于 PyDev,因为似乎 Eclipse 通常根据我阅读的内容选择了“默认”选项。

4

1 回答 1

1

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

尽管如此,为了解决您与测试相关的问题,我的建议是使用 pytest 运行器(您可能必须安装它 - 说明位于:https ://pytest.org/latest/getting-started.html ,然后在PyDev > PyUnit 偏好使用 pytest 运行器的设置)...作为说明,即使您不会使用 pytest 编写测试的方式(我强烈推荐),并且使用 unittest.TestCase,它也应该可以工作。 ..

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

于 2016-05-22T13:52:24.417 回答