zoukankan      html  css  js  c++  java
  • unittest-python

    一、创建

    打开pycharm添加py文件,选择unittest

     

     

     例如创建auto-test.py

     

     

     

    二、使用

    unittest的组件主要包含4个

    1、TestCase

    class 类名(unittest.TestCase):
    创建类名,并继承unittest.TestCase,类名后面括号里表示继承,可以在这个类里面创建测试用例

    2、Test Fixture

      主要是测试用例执行的环境搭建、销毁,主要包含:setUpClass、tearDownClass、setUp、tearDown;

      使用方法:

      @classmethod

      def setUpClass(cls):

      

      @classmethod
      def tearDownClass(cls):

      A:必须使用@classmethod来修饰
      B:cls不可缺
      C:整个测试类结束后运行一次  

      def setUp(self):

      A:self不可缺
      B:每个测试用例运行前运行一次
     
      def tearDown(self):

         A:self不可缺
         B:每个测试用例结束后运行一次

    3、Test Suite

    suite = unittest.TestSuite()
    suite.addTest(MyTestCase)
    可以添加进TestSiute进行运行
    一般情况下,添加到test suite测试集的测试用例,它执行顺序是按ASCII来执行,就是按函数名test后面ABCDEFG....和123456来执行
    我们也可以设置它的执行顺序:
    test = [类名(函数名)]
    如:
     注意:有的时候设置好了执行顺序后。还是不生效,这可能是pycharm的执行配置问题,在导航栏打开:View--->Toolbar
    然后选择:
    
    

     

     这样太过于麻烦,建议还是按照ASCII来执行

     
     
    
    

    4、Test Runner

    runner = unittest.TestRunner
    runner.run(suite)
    可以通过实例化TestRunner来运行测试集

    例子:

     运行结果:

     拓展:

    有时候TestSuite不太方便一个个添加测试集,可以使用TestLoader添加测试机路径、名称
    unittest.defaultTestLoader.discover(路径, 测试文件名称)
    如:suite = unittest.defaultTestLoader.discover(case_path, "*case.py")
      runner.run(suite)

     断言:运行结果需要判断结果是否入预期设定:

      常用断言有:

      

      例子:

      

    三、生成测试报告

    需要导入HTMLTestRunner

    使用方法如图:

     

    运行生成测试报告如图:

     

  • 相关阅读:
    python构造一个freebuf新闻发送脚本
    CISCO路由器练习
    python dns欺骗
    心脏滴血漏洞
    0CTF题中的神奇宝贝WP
    一套海量在线用户的移动端IM架构设计实践分享(含详细图文)(转)
    sendfile函数--零拷贝(转)
    浅谈分布式消息技术 Kafka(转)
    架构之微服务(zookeeper)转
    Zookeeper 3、Zookeeper工作原理(转)
  • 原文地址:https://www.cnblogs.com/fengliting/p/13161795.html
Copyright © 2011-2022 走看看