zoukankan      html  css  js  c++  java
  • 接口自动化----unittest

    unittest

    unittest框架会把以test_开头的实例方法识别为用例,同时会自动执行

    如果不是test_方法,那么不会被当做测试用例执行

    一、导入unittest

           import unittest         系统内置模块,不需要安装

    二、定义类

      

    class TestMulti(unittest.TestCase):
    

      定义继承unittest.TestCase的类:TestMulti

            如果没有继承TestCase,方法以test_开头,也不会执行

    三、类中创建实例方法

       

    def test_negative_multi(self):
    

        

       注意:

                1、  在类中定义的方法,一定要以test_开头 

                2、 一定要以test_开头,如果不以test_开头,将无法做断言

                3、创建实例方法,用于执行一条测试用例

    四、获取实际结果

      

    real_result = MathOperation(-2,-4).multiply()
    

      

    五、验证实际结果与预期结果是否一致

    except_result = -8
    self.assertEqual(except_result,real_result,msg='测试两个负数相乘失败')
    

     

          assertEqual 

             第一个参数为期望值,第二个参数为实际值

             第三个参数。msg为断言失败的提示信息

    六、运行测试用例

    if __name__ == '__main__':
       unittest.main()
    

      

          1、 以后运行unittest的时候,我们就调用父类的main()方法来运行

          2、unittest框架,会把以test_开头的方法识别为用例,同时会自动执行

         3、如果不是test_开头的方法,那么不会被当做用例自动执行

         4、执行的总用例数,所有以test_开头的实例方法总数

    七、顺序

       每个测试方法是以test_开头的实例方法名的ASCII码数字从小到大执行。

       

    def test_negative_multi(self):
    def test_neg_pos_multi(self):
    

      字母a ASCII码        ord('a')   结果:97

           _    ASCII码           ord('_')    结果:95

         会先执行:def test_neg_pos_multi(self):

    八、其他断言

        参考网址

                   https://www.cnblogs.com/mq0036/p/7205626.html

         self.assertIsNone()               不为空

        self.assertIs(a,b)                    判断a 与b的对象是否相同,成立则True,否则False

        self.assertTrue(a,msg=none)    #判断a是否为True

        self.assertIsInstance(a,b)            判断a的数据类型是否为b,isinstance(a,b) 成立则通过,否则失败

       self.assertIn(a,b)                      判断a in b是否成立,正确则True,否则为False

       

    九、注意

          把鼠标放在实例方法名上来运行用例,那么只会运行当前一条用例。

          在类的上面,点击鼠标来运行,会运行多条用例

  • 相关阅读:
    设计模式java----单例模式
    创建三个线程按顺序输出1-60,每个线程输出5个数
    java笔记----线程状态转换函数
    java笔记----常见的异常
    java一个数分解的质因数java
    MapReduce ----数据去重
    MapReduce ----倒排索引
    报错org.apache.hadoop.mapreduce.lib.input.FileSplit cannot be cast to org.apache.hadoop.mapred.FileSplit
    NumPy的使用(一)
    python----csv的使用
  • 原文地址:https://www.cnblogs.com/taiyangfeng/p/12524731.html
Copyright © 2011-2022 走看看