多测师是一家拥有先进的教学理念,强大的师资团队,业内好评甚多的接口自动化测试培训机构!

17727591462

联系电话

您现在所在位置:接口自动化测试培训 > 新闻资讯

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

更新时间:2022-08-05 09:30:28 作者:多测师 浏览:14

  一、Unittest介绍

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

  提供用例组织与执行方法

  提供丰富的断言方法

  提供丰富的日志

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

  二、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执行测试用例

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

  以上内容为大家介绍了自动化测试中如何有效使用unittest,本文由多测师亲自撰写,希望对大家有所帮助。了解更多自动化测试相关知识:https://www.aichudan.com/xwzx/

联系电话

17727591462

返回顶部