美文网首页
自动化测试:如何有效使用unittest

自动化测试:如何有效使用unittest

作者: 82a7fe2508f4 | 来源:发表于2022-03-07 11:21 被阅读0次

    本章主要内容:

    1.unittest介绍

    2.unittest组织测试用例

    3.unittest的断言语句

    4.unittest执行测试用例

    5.unittest结果报告输出

    一、Unittest介绍

    Unittest是xUnit系列框架中的一员,它是Python自带的单元测试框架。可以用于自动化测试。

    ● 提供用例组织与执行方法

    ● 提供丰富的断言方法

    ● 提供丰富的日志

    二、unittest组织测试用例

    1.Unittest库中的基本组件

    ● unittest.TestCase(): 所有测试用例类继承的基本类,一个类只要继承了unittest中的TestCase类就是一个测试用例类,可以在此类中写测试用例。

    ● unittest.TestSuite(): 用来创建测试套件,其中有一个addTest()方法可以将一个或多个测试用例添加到测试套件中,先添加的哪个方法就先运行哪个方法;

    ● unittest.defaultTestLoader(): 通过该类下面的discover()方法可自动根据测试目录start_dir匹配查找测试用例模块, 并将查找到的测试用例组装到测试套件;

    ● unittest.TextTestRunner(): 通过该类中的run()方法来运行suite所组装的测试用例;

    2.unittest工作原理

    3.TestCase类中的常用方法

    ▲ setUp():

    用于测试用例执行前的初始化。如:可以在setUp中建立数据库连接并进行初始化。

    ▲ tearDown():

    用于测试用例执行之后的善后工作,如:关闭数据库连接,关闭文件;

    ▲ assert*():

    断言方法,相当于if-else里面的条件判断,在执行测试用例的过程中,最终用例是否执行通过,通过判断实际结果和预期结果是否一致决定的;

    三、unittest的断言语句

    1.Unittest的断言

    2.unittest的运行

    四、unittest执行测试用例

    1.unittest执行测试代码

    ● pycharm运行

    1.运行整个项目(文件以test开头)

    2.整个目录

    3.整个测试文件

    4.整个测试类(类继承TestCase)

    5.指定测试方法(满足测试方法要求)

    ● 命令行运行:

    python -m unittest MODULE/CLASS/FUNCTION

    python filename

    五、unittest结果报告输出

    1.unittest结果输出

    ● unittest自带文本形式输出

    runner = unittest.TextTestRunner(stream=logfile,verbosity=2)

    runner.run(suite)

    ● 第三方插件HTMLTestRunner

    runner = HTMLTestRunner.HTMLTestRunner(stream=reportfile, title="自动化测试报告")

    runner.run(suite)

    ● 第三方插件BeautifulReport

    runner = BeautifulReport(suite)

    runner.report(filename='test', description='测试报告-试用')

    2.unittest运行示例

    ● 运行方式1:

    suite = unittest.TestSuite():

    suit.addTest(LoadTest('test_case_01'))

    suit.addTest(LoadTest('test_case_02'))

    runner = unittest.TextTestRunner()

    ● 运行方式2:

    suite = unittest.TestSuite():

    suite.addTest(unittest.makeSuite(FirstPage11))

    runner = unittest.TextTestRunner(stream=logfile,verbosity=2)

    runner.run(suite)

    ● 运行方式3:

    suite = unittest.TestSuite()

    discover = unittest.defaultTestLoader.discover("basic/", pattern='test*.py')

    run = BeautifulReport(discover)

    run.report(filename='test', description='测试报告-试用')

    相关文章

      网友评论

          本文标题:自动化测试:如何有效使用unittest

          本文链接:https://www.haomeiwen.com/subject/fapyrrtx.html