• unittest断言方法的使用


    unittest框架的TestCase类提供以下方法用于测试结果的判断

    方法 检查 版本
    assertEqual(a, b) a ==b  
    assertNotEqual(a, b) a !=b  
    assertTrue(x) bool(x) is True  
    assertFalse(x) Bool(x) is False  
    assertIs(a, b) a is b 3.1
    assertIsNot(a, b) a is not b 3.1
    assertIsNone(x) x is None 3.1
    assertIsNotNone(x) x is not None 3.1
    assertIn(a, b) a in b 3.1
    assertNotIn(a, b) a not in b 3.1
    assertIsInstance(a, b) isinstance(a,b) 3.1
    assertNotIsInstance(a, b) not isinstance(a,b) 3.1

    -assertEqual(first,second,msg=None)

    断言第一个参数和第二个参数是否相等,如果不相等则测试失败

    -assertNotEqual(first,second,msg=None)

    assertNotEqueal()和assertEqual()相反,它用于第一个参数与第二个参数是否不相等,如果相等则测试失败

    -assertTrue(expr,msg=None)

    -assertFalse(expr,msg=None)

    测试表达式是true(或false)

    -assertIn(first,second,msg=None)

    -assertNotIn(first,second,msg=None)

    判断第一个参数是否在第二个参数中,反过来讲,第二个参数是否包含第一个参数

    -assertIs(first,second,msg=None)

    -assertIsNot(first,second,msg=None)

    断言第一个参数和第二个参数是否为同一个对象

    -assertIsNone(first,second,msg=None)

    -assertIsNotNone(first,second,msg=None)

    断言表达式是否为None对象

    -assertIsInstance(first,second,msg=None)

    -assertIsNotInstance(first,second,msg=None)

    断言obj是否为cls的一个实例


     unittest案例:

    calculate.py:

    class Math:
        def __init__(self,a,b):
            self.a = int(a)
            self.b = int(b)
    
        def add(self):
            return self.a + self.b

    test_Math.py:

    from calculator import Math
    import unittest
    
    
    class TestMath(unittest.TestCase):
    
        def setUp(self):
            print("test start")
    
        def test_add(self):
            j = Math(5,10)
            self.assertEquals(j.add(),15)
            # self.assertEquals(j.add(),12)
    
        def test_add1(self):
            j = Math(55,100)
            self.assertNotEqual(j.add(),145)
    
        def test_add2(self):
            j = Math(5,10)
            self.assertTrue(j.add() > 10)
    
        def assertIs_test(self):
            self.assertIs("abc","abc")
            # self.assertIs("ab","abc")
    
        def assertIn_test(self):
            self.assertIn("python","hello python")
            # self.assertIn("abc","hello python")
    
        def tearDown(self):
            print("test end")
    
    if __name__ == '__main__':
        # unittest.main()
        # 构造测试集
        suit = unittest.TestSuite()
        suit.addTest(TestMath("test_case"))
        # 执行测试
        runner = unittest.TextTestRunner()
        runner.run(suit)
  • 相关阅读:
    Pyhon数据分析20——matplotlib可视化(二)之柱状图
    程序运行正常,数据库没反应
    Redis在Linux环境下安装的常见错误
    1.1-1.4 sqoop概述及安装cdh版hadoop
    3、css边框以及其他常用样式
    3.15-3.21 hive项目实战
    2、css的存在形式及优先级
    1、css选择器
    3.11-3.14 Hive 企业使用优化2
    3.7-3.10 Hive 企业使用优化1
  • 原文地址:https://www.cnblogs.com/NancyRM/p/8377721.html
Copyright © 2020-2023  润新知