python单元测试之unittest

一、单元测试、集成测试、功能测试

单元测试

颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对软件中的最小可测试单元进行检查和验证

集成测试

介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验证“设计”又验证“需求”。主要用来测试模板与模板之间的接口,同时还要测试一些主要的业务功能。

功能测试

颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求规格说明书

二、Unittest重要组成

unittest中最核心的部分是:TestFixture、TestCase、TestSuite、TestRunner

1. TestFixture

作用:用于一个测试环境的准备和销毁还原。

2. TestCase:测试用例

定义:一个类class继承 unittest.TestCase,就是一个测试用例

3. TestSuite

测试套件,可以将多个测试用例集合在一起,能一起执行选中的测试用例

4. TextRunner

执行测试用例

三、断言

assertEqual(a,b):断言a和b是否相等,相等则测试用例通过。assertNotEqual(a,b):断言a和b是否相等,不相等则测试用例通过。assertTrue(x):断言x是否True,是True则测试用例通过。assertFalse(x):断言x是否False,是False则测试用例通过。assertIs(a,b):断言a是否是b,是则测试用例通过。assertNotIs(a,b):断言a是否是b,不是则测试用例通过。assertIsNone(x):断言x是否None,是None则测试用例通过。assertIsNotNone(x):断言x是否None,不是None则测试用例通过。assertIn(a,b):断言a是否在b中,在b中则测试用例通过。assertNotIn(a,b):断言a是否在b中,不在b中则测试用例通过。assertIsInstance(a,b):断言a是是b的一个实例,是则测试用例通过。assertNotIsInstance(a,b):断言a是是b的一个实例,不是则测试用例通过。

四、生成测试报告

html格式的就是HTMLTestRunner了,HTMLTestRunner是 Python 标准库的 unittest 框架的一个扩展,它可以生成一个直观清晰的 HTML 测试报告。

五、操作

1:导入unittest模块>>>importunittest2:编写一个类继承unittest.TestCase3:调用setUp(self),tearDown(self)方法实现测试用例前后阶段的操作4:编写测试用例方法(1)该方法必须以test开头,否则在unittest.main()中调用测试找不到该方法(2)设置断言进行判断,输入数据和输出数据的预期结果5:创建套件,将多个测试用例存放套件中,一并执行()6:生成测试报告(python自带或者导入HTMLTestRunner生成html格式的测试报告)7:运行测试用例unittest.main(),调用测试用例中以test开头的方法

六、代码展示

classCalc():

defadd(self,a,b):

c=a+b

return c 

defredc(self,a,b):

c=a-b

print(c) 

if__name__=="__main__":

 c=Calc() 

c.add(2,3)

print(c.add(2,3))

七、读取文件

1. 读取xml文件

2. 创建xml文件

3. 读取xml文件


获取xml固定简单数据


抽取方法


具体使用


2. 读取csv文件

在data下创建CSV文件a.csv

创建读文件的文件

在测试用例的类中

你可能感兴趣的:(python单元测试之unittest)