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该文件的配置,“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