问题描述
python脚本中使用import unittest导入unittest进行单元测试,单但执行脚本时并没有执行if name == ‘main’:其下的代码。
代码:
# coding=gbk
import unittest
class Test01(unittest.TestCase):
def test_01(self):
print("这是test01")
def test_02(self):
print("这是test02")
if __name__ == '__main__':
print("运行结果:")
unittest.main()
运行结果:
很明显没有执行if name == ‘main’:下的代码
原因分析
然后发现这次执行脚本的方式与之前不一样,之前都是run …
这次执行方式是Run ‘Unittests in xxx.py’,百度了下说这是PyCharm默认执行Unittests类的单元测试,忽略了if name == ‘main’:的执行,也就没有执行整个xxx.py文件。而Run xx.py相当于执行整个xx.py文件,也就包含if name == ‘main’:其下的代码了
解决方案
点击Run选择框中,选则文件xx.py同名的选项
更改过后:
运行结果: