Python基础(unittest模块、python2与python3的区别)

it2025-02-13  6

unittest模块

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与Python3的区别

print

python2中print为一个类(class) python3中print为一个函数(def) python2中print可以不写小括号

range与xrange

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

最新回复(0)