发布网友
共1个回答
热心网友
框架的概念在系统开发过程中,框架是指对特定应用领域中的应用系统的部分设计和实现子系统的整体结构。框架将应用系统划分为类和对象,定义类和对象的责任,类和对象如何相互协作,以及对象之间的控制线程。这些共有的设计因素由框架预先定义,应用开发人员只须关注于特定的应用系统特有部分。自动化测试框架的定义为:由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。
Unittest单元测试框架为Python语言的单元测试框架。其使用介绍包括:用import语句引入unittest模块;让所有执行测试的类都继承于TestCase类;编写测试的方法最好以test开头;在编写测试方法过程中,使用TestCase class提供的方法测试功能点;调用unittest.main()方法运行所有以test开头的方法。
应用实例:对模块中的加法功能测试,存在一个calc.py的模块,里面存在一个加法功能。通过编写测试代码,使用常用的assert语句进行验证。
unittest创建测试代码的方式:unittest构建测试套件(测试用例集合)。应用忽略测试用例:unittest支持忽略部分测试用例不执行,通过装饰器实现,如@unittest.skip(reason)、@unittest.skipIf(condition,reason)等。运行测试集:unittest使用TestRunner类作为测试用例的基本执行环境,来驱动整个单元测试过程。
生成HTMLTestRunner测试报告:HTMLTestRunner是Python标准库的unittest模块的一个扩展,能生成易于使用的HTML报告。使用HTMLTestRunner配置参数,stream为输出报告路径、title为报告标题、description为描述信息。针对baidu.py文件修改如下:import HTMLTestRunner #导入HTMLTestRunner报告。使用HTMLTestRunner配置参数,stream为输出报告路径、title为报告标题、description为描述信息。
不同文件中的用例构建测试套件:生成HTMLTestRUnner测试报告的时候,会发现一个.py文件产生一个测试报告。使用TestSuite可以将所有测试用例组织在一起,然后传给TestRunner执行。测试套件运行每个测试用例的顺序是由测试方法名根据Python内建函数cmp所排序的顺序而决定的。
整合测试报告:可以给每个测试用例加上注释,测试报告名称加时间戳,使用python的time模块给测试报告加自定义名称。框架结构改进:执行用例的主文件移出测试用例文件夹,创建__init__.py文件并将其添加到sys.path中。在__init__.py文件中添加导入语句,使用TestLoader加载多个测试用例。
用例读取改进:可以使用for循环遍历用例文件读取测试用例,将用例列表放置到一个单独的文件中通过执行测试用例的主文件导入。或者使用discover函数递归查找指定目录及其子目录下的全部测试模块。在实际测试用例开发过程中,可以使用约定,写好的用例用ok_或其他标识开头,没有写好的暂时不用ok_开头。
最终,简单的单元自动化测试框架实现完毕,包括框架的概念、Unittest单元测试框架的使用、生成HTMLTestRunner测试报告、不同文件中的用例构建测试套件、整合测试报告、框架结构改进以及用例读取改进等内容。