python assert断言

assert前言

assert内部判断为FALSE时,才会执行后面的msg。

assert断言有一个很好用的包:unittest

固定的格式:

  • class类里面传入参数unittest.TestCase
  • if name == ‘main’:后面要有unittest.main()

关于断言assert

1.输出结果:先输出函数里面要求输出的内容,输出内容以…FFF开头;接着输出assert的判断信息
2.只需在最后运行“unittest.main()”,有很多的class需要诊断,都会一次性输出诊断内容
if name == ‘main’:
unittest.main()
3.如果assert执行了msg,则assert后面的内容不再运行

完整代码展示

例子来源于网络,侵删

# =============================================================================
# 关于断言assert
# 1.输出结果:先输出函数里面要求输出的内容,输出内容以...FFF开头;接着输出assert的判断信息
# 2.只需在最后运行“unittest.main()”
# 有很多的class需要诊断,都会一次性输出诊断内容
# if __name__ == '__main__':
#     unittest.main()
# 3.如果assert执行了msg,则assert后面的内容不再运行

# =============================================================================
# coding:utf-8
import unittest
import sys

class Test(unittest.TestCase):
    def test01(self):
        '''判断 a == b '''
        a = 1
        b = 1
        self.assertEqual(a, b)
        print("\ntest01运算结果:",a+b)

    def test02(self):
        '''判断 a in b '''
        a = "hello"
        b = "hello world!"
        self.assertIn(a, b)

    def test03(self):
        '''判断 a is True '''
        a = True
        self.assertTrue(a)

    def test04(self):
        '''失败案例'''
        a = "上海-悠悠"
        b = "yoyo"
        self.assertEqual(a, b)
        print(a+b)

# if __name__ == "__main__":
#     unittest.main()

# =============================================================================
# 关于断言assert
# 例子:assert 判断句,如果是false时返回信息,



class TestModes(unittest.TestCase):    
    def testassert(self):
        print("这是testassert第一步")
        self.assertTrue('linux' in sys.platform,"该代码只能在 Linux 下执行")
        # assert ('linux' in sys.platform), "该代码只能在 Linux 下执行"
        print("结束")



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

# =============================================================================
# unit test case 

class TestStringMethods(unittest.TestCase):
    # test function to test equality of two value 
    def test_negative(self):
        firstValue = "geeks"
        secondValue = "gfg"
        # error message in case if test case got failed 
        message = "First value and second value are not equal !"
        # assertEqual() to check equality of first & second value 
        self.assertEqual(firstValue, secondValue, message) 
  
if __name__ == '__main__':
    unittest.main()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值