unittest模块是python内置的一个测试模块 软件测试是一种实际输出与预期输出之间的审核或者比较的过程
单元测试是用来对一个模块/一个函数/一个类来进行正确性检测的测试工作 单元测试中最核心的四个概念:
test case:一个py文件就是一个测试用例,是一个完整的测试流程 test suite: 测试用例的集合 test runner: 用来执行测试用例 test fixture: 测试用例环境的搭建和销毁unittest的使用步骤
1、导入unittest模块,被测文件或者其中的类 2、创建一个测试类,被继承unittest.TestCase 3、重写setUp和tearDown方法 4、定义测试函数,函数名以test_开头 5、调用unittset.main()方法运行测试用例(无此方法也是可以运行的)断言 Assert----- 结果对比的函数 设置断言,当一条测试用例执行失败,不会影响其他测试用例的执行
python2中print为一个类(class) python3中print为一个函数(def) python2中print可以不写小括号
range()在python2中会得到一个列表 python3中range会得到一个range生成器 python2中xrange()得到的是一个生成器,与python3中range一样 python3中没有xrange
python2中存储字符串使用8bit字符串存储方式,且底层使用的ASCII编码的方式,所以字符串有两种不同的格式str和unicode 在python2中如果出现中文就会乱码,必须在文件的开头添加 #-*-:encoding=utf-8 来指定编码格式 python3中存储字符串,使用的是16bit Unicode字符串变长存储方式
python2中起别名用的是逗号然后在后面直接写别名 python3中使用的是as关键字
python2中打开文件有多种方式 f = file() f = open() 不能直接在括号中指定编码格式 python3中打开文件 f = open() 可以指定编码格式
python2中支持两种标准输入 info = raw_input() ch = input() python3中只有一种标准输入 info = input()
python2中,/表示的是整除,但是加上浮点数就是真实除法 python3中,/表示的就是真实的除法,//表示的是整除
python2中保留了原始的类型继承关系,同时也支持继承object而衍生的新式类,所以在多继承操作过程中会出现两种不同的数据检索方式,让中大型项目的开发变的扑朔迷离 python3中废弃了经典类,只保留了新式类,也就是现在我们通用的自定义类型,直接或者间接继承自object