zoukankan      html  css  js  c++  java
  • Python unitest 入门了解

    unittest基础入门-1


      语句覆盖:

      遍历每一行代码,主要缺点无法判断逻辑

      判断覆盖:

      整个语句的 T/F,主要确定多个条件组合无法判断

      条件覆盖:

      覆盖到每个子条件的(变量级级别)主要缺陷,测试用例指数级增多

      路径覆盖:

      类似导图,所有路径遍历

    Unittest测试框架::


     

    命名:

      测试类:驼峰命名 TestClass

      执行的用例:testxxx

    初始化及数据清理:

      setUp:每条用例前执行

      teatDown:每条用例后执行

      @Classmethod

      setUpClass  :当前类初始化

       @Classmethod

      tearDownClas:当前类用例执行完成后执行



    import unittest
    
    
    class TestClass(unittest.TestCase):
    
        def setUp(self) -> None:
            print("每条用例前执行")
    
        def tearDown(self) -> None:
    
            print("每条用例执行后执行")
    
        @classmethod    # 装饰器
        def setUpClass(cls) -> None:
            print("类用例执行前执行1次")
    
        @classmethod    # 装饰器
        def tearDownClass(cls) -> None:
            print("类用例执行完成后执行1次")
    
        def test_01(self):
            print("test_01")
    
        def test_02(self):
            print("test_02")
    
    
    class TestClass01(unittest.TestCase):
    
        def test_03(self):
            print("test_03")
    
    if __name__ == '__main__':
    
        # 执行当前文件所有用例
        # unittest.main()
        # 执行指定的测试用例
        # suite01 = unittest.TestSuite()
        # suite01.addTest(TestClass("test_01"))
        # suite01.addTest(TestClass("test_02"))
        # unittest.TextTestRunner().run(suite01)
        suit01 = unittest.TestLoader().loadTestsFromTestCase(TestClass)
        suit02 = unittest.TestLoader().loadTestsFromTestCase(TestClass01)
        suit = unittest.TestSuite([suit02,suit01])
        unittest.TextTestRunner(verbosity=2).run(suit)


    py执行
    import unittest

    if __name__ == '__main__':

    test_dri = './testcase'
    discover = unittest.defaultTestLoader.discover(test_dri,pattern="test_*.py")
    unittest.TextTestRunner(verbosity=2).run(discover)


    断言

    assertEqual(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,相等则测试用例通过。

    assertNotEqual(a,b,[msg='测试失败时打印的信息']):断言a和b是否相等,不相等则测试用例通过。

    assertTrue(x,[msg='测试失败时打印的信息']):断言x是否True,是True则测试用例通过。

    assertFalse(x,[msg='测试失败时打印的信息']):断言x是否False,是False则测试用例通过。

    assertIs(a,b,[msg='测试失败时打印的信息']):断言a是否是b,是则测试用例通过。

    assertNotIs(a,b,[msg='测试失败时打印的信息']):断言a是否是b,不是则测试用例通过。

    assertIsNone(x,[msg='测试失败时打印的信息']):断言x是否None,是None则测试用例通过。

    assertIsNotNone(x,[msg='测试失败时打印的信息']):断言x是否None,不是None则测试用例通过。

    assertIn(a,b,[msg='测试失败时打印的信息']):断言a是否在b中,在b中则测试用例通过。

    assertNotIn(a,b,[msg='测试失败时打印的信息']):断言a是否在b中,不在b中则测试用例通过。

    assertIsInstance(a,b,[msg='测试失败时打印的信息']):断言a是是b的一个实例,是则测试用例通过。

    assertNotIsInstance(a,b,[msg='测试失败时打印的信息']):断言a是是b的一个实例,不是则测试用例通过

  • 相关阅读:
    六白话经典算法系列 高速分拣 高速GET
    neu1458 方格取数 dp解法
    自然语言处理---新词发现---微博数据预处理2
    JQuery之初探
    TFS(Team Foundation Server)介绍和入门
    ZooKeeper的学习与应用
    软考之路(六)---数据库---深入浅出 三层模式两级映像
    Open the Lock
    C/C++产生随机数
    RPM安装包-Spec文件參数具体解释与演示样例分析
  • 原文地址:https://www.cnblogs.com/cpas-3-org/p/15149683.html
Copyright © 2011-2022 走看看