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的一个实例,不是则测试用例通过

原文地址:https://www.cnblogs.com/cpas-3-org/p/15149683.html