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

    使用方法如图:

     

    运行生成测试报告如图:

     

  • 相关阅读:
    jdk和jre有什么区别?
    Apache的作用及意义
    博客园新成员的第一天
    重构改善既有代码的设计--简化条件表达式
    SourceMonitor: 代码重构的小工具,大用场
    使用Eclipse中提供的Refactor(重构)工具
    极大提高Web开发效率的8个工具和建议(含教程)
    Hbase shell命令
    Java多线程-新特性-有返回值的线程
    Java多线程-新特征-条件变量
  • 原文地址:https://www.cnblogs.com/fengliting/p/13161795.html
Copyright © 2011-2022 走看看