轉:http://www.cnblogs.com/csjd/p/6366535.html
python unittest不執行"if __name__ == '__main__' "問題(Pycharm)
問題:
1、selenium導入unittest框架和HtmlReport框架后,HtmlReport不被執行。
2、IDE為Pycharm
假設代碼為:
from selenium import webdriver
import unittest
class Test(unittest.TestCase):
print "this is class Test"
def setup(self):
print "this is setup"
def test_1(self):
print "this is tesecase 1"
#其他代碼
def tearDown(self):
print "this is tearDown"
if __name__ == '__main__':
print "this is __name__"
#unittest.main()
網上搜索到的資料:
1、Pycharm運行導入unittest框架時,執行的的命令是“Run 'Unittests in XXX' ”,如下圖所示:
2、此時執行順序為:Class->def setup ->def test_1 ->def tearDown
3、如果執行的命令為“Run XXX”,那么會先執行class后,就執行“if __name__ == '__main__' ”
4、在代碼“"if __name__ == '__main__' ”區域,右擊“run xxx”即可,具體步驟參考第二個鏈接(有用的解決方案)
4.1 首先刪除Pycharm該文件的配置,pychrm-“run”-“Edit Configurations”-"Python tests"下刪除該文件的配置信息,再點擊“if __name__ == '__main__' ”旁邊的三角按鈕,鼠標移到Run...就可以看到兩個運行方式了
先用Run XXX方式運行下,然后到pychrm-“run”-“Edit Configurations”-"Python tests"下點擊保存按鈕,保存該配置
參考資料:
http://www.ithao123.cn/content-6035445.html
有用的解決方案:http://stackoverflow.com/questions/20835466/pycharm-wont-allow-to-run-a-file-shows-run-unittest-option-only