使用Pycharm编写服务器。
我使用Python的'unittest'库进行了一些单元测试。
我刚刚运行测试,一切都很好,我可以在代码中的任何位置设置断点。 昨天我开始通过调试器运行服务器。我发现我的断点不再起作用了。在视觉上它们仍然在那里,它们在各方面看起来/表现得像一个工作断点,除了它们实际上不会导致执行中断,它们被忽略(就像它们被禁用一样)。
今天当我再次尝试运行测试时,我在所有文件中观察到相同的行为,除了我的测试库中的那些。
我尝试了一个实验,在服务器代码中添加了一个新文件,其中包含一个简单的函数。 函数断点,从测试调用函数,通过调试器运行测试,没有中断。 将文件复制到我的'tests'目录,重置函数中的断点,更改'import'语句指向测试文件的新位置,运行测试。现在它停在文件的断点处。
我已经尝试了所有我能想到的基本'健全检查':退出PyCharm。重新安装PyCharm。删除PyCharm首选项。重启。我仍然得到完全相同的行为。
对于它的价值,'run to cursor'表现出同样的问题:除了测试文件之外,它只是在不停止的情况下运行。
真正疯狂的是昨天一切正常。当我运行测试时,至少断点正在工作。
答案 0 :(得分:2)
有点自己解决这个问题。
在运行 - >编辑配置中,选择配置进行测试。
在“测试:文件夹:”中,现有设置为foo / bar / baz / my_project / tests。
使用此设置我遇到了问题:“测试”下的断点工作,“my_project”其余部分下的断点没有。
我将其更改为foo / bar / baz / my_project。 现在这一切都按预期工作,断点在任何地方工作正常。
我项目中的其他人在原始设置下工作正常:他们只指向'tests'目录并可以在任何地方设置断点。
我不知道为什么我很特别,这对我来说失败了,但是我有一个解决方法而且我已经厌倦了与之抗争......好时光。
答案 1 :(得分:1)
干杯, 罗布