问题:运行时候发现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__': 其下的代码未执行_解决方案 - 简书