問題:運作時候發現main方法并沒有執行,之執行了test_baidu
import unittest from selenium import webdriver from .config import XTest browser_list=["Chrome","Firefox"] def main(path,browser): print("222") if browser not in browser_list: raise NameError("不支援{browser}浏覽器",1) elif browser =="Chrome": XTest.driver=webdriver.Chrome() elif browser =="Firefox": XTest.driver=webdriver.Firefox() suit=unittest.defaultTestLoader.discover(start_dir=path) runner=unittest.TextTestRunner() runner.run(suit)
原因:
之前所執行代碼對應的方式是Run 'Unittests in xxx.py',PyCharm預設執行Unittests類的單元測試,忽略了if __name__ == '__main__':的執行,也就沒有執行整個xxx.py檔案
方案:
在PyCharm頂部的工具欄上,點選 Run-->Run...在彈出的Run選擇框中,點選與檔案xx.py同名的選項
(Run xx.py相當于執行整個xx.py檔案,也就包含if __name__ == '__main__':其下的代碼了)
摘自:[PyCharm] if __name__ == '__main__': 其下的代碼未執行_解決方案 - 簡書