2011-03-09 28 views
5

一直使用Pycharm編寫服務器。Pycharm不識別非測試文件中的斷點

我有一些unittests使用Python的'unittest'庫。

我只是在運行測試,一切都很好,我可以在代碼中的任何位置設置斷點。 昨天我開始通過調試器運行服務器。我發現我的斷點不再有效。在視覺上,他們仍然存在,他們看起來/行爲像一個工作中斷點,除非他們實際上不會導致執行中斷,他們只是被忽略(就像他們被禁用)。

今天當我試圖再次運行測試時,我在所有文件中觀察到相同的行爲,除了我的測試庫中的

我嘗試了一個實驗,用一個簡單的函數向服務器代碼中添加一個新文件。 函數中的斷點,來自測試的調用函數,通過調試器運行測試,不中斷。 將文件複製到我的'tests'目錄中,重置函數中的斷點,改變'import'語句指向測試文件的新位置,運行測試。現在它停在文件的斷點處。

我已經嘗試過每一個基本的'理智檢查'我可以想到:退出PyCharm。重新安裝PyCharm。刪除PyCharm首選項。重啓。我仍然得到完全相同的行爲。

對於什麼是值得的,'運行到遊標'展示了同樣的問題:除了測試文件之外的任何東西,它都會運行而不會停止。

什麼是真正的瘋狂製作是這一切都工作正常昨天。當我運行測試時至少有斷點工作。

回答

2

有點sorta自己修復這個。

在運行 - >編輯配置中,選擇要測試的配置。

在「測試:文件夾:」中,現有設置爲foo/bar/baz/my_project/tests。

使用此設置我遇到了問題:「測試」工作下的斷點,「my_project」其餘部分下的斷點沒有。

我將其更改爲foo/bar/baz/my_project。 現在一切都按預期工作,任何地方的斷點都可以正常工作。

我項目上的其他人對原始設置的工作正常:他們只是指向「測試」目錄,並可以在任何地方設置斷點。

我不確定爲什麼我很特別,這對我來說是失敗的,但我有一個解決方法,我厭倦了與它戰鬥......好時光。

1

嘿道格,三件事情,可能會或可能不會有所幫助:

  1. 我有同樣的問題了幾次回與先前1.0和1.0.1版本與保存的調試配置 - - 重新創建調試配置修復了故障。敲木頭,但我沒有在1.1.1的問題。還沒有嘗試1.2版本的候選人。
  2. 一位同事有類似的問題,但他不小心將其斷點設置在文件的外部副本上,而不是PyCharm正在執行的那個。
  3. 最後,我的經驗是,如果您的問題是ping their user forum和/或submit a YouTrack bug,JetBrains人員對問題的回答一直很好。

乾杯, 羅布