記錄python介面自動化測試--pycharm執行測試用例時需要使用的姿勢(解決if __name__ == "__main__":裡面的程式不生效的問題)(第三目)

我是冰霜發表於2018-03-27

1.只執行某一條case

把游標移動到某一條case後面,然後右鍵,選擇“Run...”來執行程式

此時,pycharm會只執行游標所在位置的這一條case

2.如果想執行全部case,需要把游標移動到  “if __name__ == "__main__": ”後面,一般情況下會執行全部的case;

但是如果在 “if __name__ == "__main__": ”下面新增了測試套件,同樣把游標移動到 “if __name__ == "__main__": ”後面,會發現還是執行了全部的case,也就是  “if __name__ == "__main__": ”下面的程式沒有生效;同時這個問題也是造成導致無法生成測試報告的原因(程式都正確,為什麼生成不了測試報告呢,因為HTMLTestRunner的語句也放在了裡面)

經過一翻查詢,大部分是說和unittest類有關,pycharm預設執行的unittests類的單元測試,而不是整個檔案,右鍵顯示的是“Unittests in xx.py”

一種解決方法是:

進入Edit Configurations,刪掉python tests中的資訊,然後再右鍵執行或直接點選右上角執行按鈕。

但是我在操作時,這個方法無效,刪掉後,還是預設以“Unittests in xx.py”方式執行

另一種解決方法:

注意識別,xx.py 和 Unittests in xx.py,選擇檔名,然後執行整個檔案,就可以了。

然後再右鍵,顯示“Run xx”了

 

相關文章