為什么用PyCharm或者Eclipse執行測試成功但無法生成HTMLTestRunner報告
最近遇到一些人問這樣的問題:
他們的代碼寫的沒問題,執行也成功了,但就是無法生成HTMLTestRunner的報告,截圖如下:
其實這是編輯器搞得鬼,編輯器為了方便用戶執行測試,都有一項功能,可以用編輯器來調用unittest或者nose來執行測試用例,這種情況下,執行的只是用例或者套件,而不是整個文件,寫在main里的代碼是不會被執行的!!自然無法生成測試報告。
可以看看下面兩張圖:
會發現,在py文件不同的地方點擊右鍵,出來的菜單是不一樣的!
第一幅圖中的菜單是選中用例或套件時編輯器加載的右鍵菜單,這個是只有編輯器識別出文件中的用例時才會出現的;
第二幅圖中的菜單是正常情況下編輯器的右鍵菜單,這種情況下編輯器是執行這個文件,文件中所有的代碼都會被執行到。
一般情況下在用例的部分點擊右鍵會出來圖一菜單,在其他部分如main里點擊右鍵會出來圖二,不過也不一定,自己點點看吧。
現在很清晰了,我們在如果想要生成測試報告,那么一定要注意右鍵執行時選擇的右鍵菜單,一定要當做文件執行,不要讓編輯器當做用例執行
最好的方法就是通過cmd命令直接執行該py文件。