川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

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

作者:川石学院 日期:2022-03-03 11:32:38 点击数:

一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“如何有效使用unittest”。

自动化测试:数据驱动和POM(图1)

  本章主要内容:

  ● unittest介绍

  ● unittest组织测试用例

  ● unittest的断言语句

  ● unittest执行测试用例

  ● 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工作原理

自动化测试:如何有效使用unittest(图2)

  3.TestCase类中的常用方法

  ▲ setUp():

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

  ▲ tearDown():

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

  ▲ assert*():

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

  三、unittest的断言语句

  1.Unittest的断言

自动化测试:如何有效使用unittest(图3)

  2.unittest的运行

自动化测试:如何有效使用unittest(图4)

  四、unittest执行测试用例

  unittest执行测试代码

  ● pycharm运行

  运行整个项目(文件以test开头) 整个目录整个测试文件整个测试类(类继承TestCase) 指定测试方法(满足测试方法要求)

  ● 命令行运行:

  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='测试报告-试用')


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2022-03-03 11:32:38
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2022-03-03 11:32:38
  • 国外的月亮也不一定比国内测试猿的年薪美~2022-03-03 11:32:38
  • 建筑工程专业朱同学成功转行为软件测试人!2022-03-03 11:32:38
  • 财务管理专业转行软件测试月薪甩会计几条街!2022-03-03 11:32:38
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2022-03-03 11:32:38
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2022-03-03 11:32:38
  • 文科生转行软件测试照样拿下高薪15K!2022-03-03 11:32:38
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2022-03-03 11:32:38
  • 毕业1年,迷茫的他最终选择转行软件测试2022-03-03 11:32:38