5

一直在使用 Pycharm 编写服务器。

我有一些使用 Python 中的“unittest”库的单元测试。

我只是在运行测试,一切都很好,我可以在代码的任何地方设置断点。昨天我开始通过调试器运行服务器。我发现我的断点不再起作用。从视觉上看,它们仍然存在,它们在各个方面看起来/行为都像一个工作断点,除了它们实际上不会导致执行中断,它们只是被忽略(就像它们被禁用一样)。

今天,当我再次尝试运行测试时,除了测试库中的文件外,我在所有文件中都观察到相同的行为。

我尝试了一个实验,将一个新文件添加到服务器代码中,其中包含一个简单的函数。函数中的断点,从测试中调用函数,通过调试器运行测试,没有中断。将文件复制到我的“测试”目录中,重置函数中的断点,将“导入”语句更改为指向测试文件的新位置,运行测试。现在它停在文件中的断点处。

我已经尝试了所有我能想到的基本“健全性检查”:退出 PyCharm。重新安装 PyCharm。删除 PyCharm 首选项。重启。我仍然得到完全相同的行为。

对于它的价值,“运行到光标”表现出同样的问题:在除测试文件之外的任何内容中,它只是不停地运行。

真正令人疯狂的是,昨天一切正常。当我运行测试时,至少断点正在工作。

4

2 回答 2

2

有点自己解决了这个问题。

在 Run->Edit Configurations 中,选择要测试的配置。

在“Tests:Folder:”中,现有设置是 foo/bar/baz/my_project/tests。

使用此设置我遇到了问题:“测试”下的断点有效,“my_project”其余部分下的断点无效。

我将其更改为 foo/bar/baz/my_project。现在一切都按预期工作,任何地方的断点都可以正常工作。

我项目中的其他人在原始设置下工作正常:他们只指向“测试”目录,并且可以在任何地方设置断点。

我不知道为什么我很特别,这对我来说失败了,但我有一个解决方法,我厌倦了与之抗争,所以......美好的时光。

于 2011-03-10T18:54:02.233 回答
1

嘿,道格,三件事可能有用也可能没用:

  1. 在早期的 1.0 和 1.0.1 版本中,我曾多次遇到同样的问题,并保存了调试配置 --- 重新创建调试配置修复了故障。敲木头,但我在 1.1.1 中没有遇到过这个问题。还没有尝试过 1.2 候选版本。
  2. 一位同事遇到了类似的问题,但他不小心在文件的外部副本上设置了断点,而不是 PyCharm 正在执行的内容。
  3. 最后,我的经验是,如果您 p​​ing他们的用户论坛和/或提交 YouTrack 错误,JetBrains 的人会很好地响应问题。

干杯,罗伯

于 2011-03-10T22:39:21.137 回答