当前位置:网站首页 > 技术博客 > 正文

unittest框架原理



一、做自动化测试,简单来说4点
1.明确测试对象
2.编写测试用例
3.组织测试用例
4.执行测试用例输出测试结果报告
那么对于自动化框架来说,我们要做到的是,如何完成这些工作,具体对应到自动化框架unittest我们来大致介绍并使用下。

一、unittest工作原理

unittest最核心的四部分是:TestCase,TestSuite,TestRunner,TestFixture

TestCase:用户自定义的测试case的基类,编写测试case的类需要继承它

TestSuite:测试用例集合,可以通过addTest()方法手动增加Test Case,也可以通过TestLoader自动添加Test Case,TestLoader在添加用例时,会没有顺序。

TestRunner:运行测试用例的驱动类,可以执行TestCase,也可以执行TestSuite,执行后TestCase和TestSuite会自动管理TESTResult。

TestFixture:简单来说就是做一些测试过程中需要准备的东西,比如创建临时的数据库,文件和目录等,其中setUp()和setDown()是最常用的方法

总结来说,整个的流程就是首先要写好TestCase,然后由TestLoader加载TestCase到TestSuite,然后由TestTestRunner来运行TestSuite,运行的结果保存在TextTestReusult中,整个过程集成在unittest.main模块中。

 

2.创建一个测试用例的testMathFunc.py文件

 

用例执行结果如下:
在这里插入图片描述

三.现在我们把测试结果用TestSuite组织起来,我们就要用到TestCase,添加到TestCaseDE中的case是会按照添加的顺序执行的。创建testSuite.py文件。

 

直接运行testSuite.py文件,输出测试结果报告如下:
在这里插入图片描述

小结:

1、unittest是python自带的单元测试框架,可以直接import到自己的环境

2、unittest流程:写好TestCase,然后由TestLoader加载TestCase到TestSuite,然后由TextTestRunner来运行TestSuite,运行的结果保存在TextTestResult中,我们通过命令行或者unittest.main()执行时,main会调用TextTestRunner中的run来执行,或者我们可以直接通过TextTestRunner来执行用例。

3、想要被识别为测试用例,那么需要编写一个测试类,这个测试类要继承TestCase,类中的测试方法即单条测试用例都需要以test开头。

4、verbosity参数可以控制执行结果的输出:

 

5、可以通过addTest和addTests向suite中添加case或suite,可以用TestLoader的loadTestsFrom__()方法。

6、用 setUp()、tearDown()、setUpClass()以及 tearDownClass()可以在用例执行前布置环境,以及在用例执行后清理环境

7、我们可以通过skip,skipIf,skipUnless装饰器跳过某个case,或者用TestCase.skipTest方法。

  • 上一篇: vue3.0动态路由
  • 下一篇: stm32if语句
  • 版权声明


    相关文章:

  • vue3.0动态路由2025-03-24 14:01:00
  • date_add hive2025-03-24 14:01:00
  • greenol2025-03-24 14:01:00
  • nat内外网互联2025-03-24 14:01:00
  • 树状算图与算法流程2025-03-24 14:01:00
  • stm32if语句2025-03-24 14:01:00
  • vue3与vue2.5区别大吗2025-03-24 14:01:00
  • matlab的fread2025-03-24 14:01:00
  • tinyxml gettext2025-03-24 14:01:00
  • 分段锁的实现原理2025-03-24 14:01:00