• 断言和简单unittest单元测试的入门代码整理



    '''
    1.认识Assert 断言
    断言的比较运算符号:assert可以使用比较运算:”==” “!=” ‘’<” “>” “>=” “<=”等符号来比较相等、不相等、小于、大于、大于等于和小于等于。

    Assert 语法格式:
    assert 1 ==1
    assert 2+2 ==2*2
    断言的作用:
    1.检查文档
    2.具有一定的判断的效果
    3.防御性的编程


    使用方法:
    assertEqual(first,second,msg)其中first与second 进行比较,如果相等则通过;msg为失败的信息,选填。 断言assertNotEqual反正用就可以。
    1.assertTrue 和 assertFalse
    assertTrue :判断bool值为True,则pass
    assertFalse: 判断bool值为False,则pass
    '''
    # assert 8>5,"not Ture" #正确没有任何操作
    # assert 3>5,"not Ture" #错误抛出异常

    '''
    a="this is a string"
    assert type(a)== int,"类型不一致"
    assert type(a)== str,"类型不一致"

    当断言正确的时候,不会输出,
    反之错误,则输出异常信息
    '''


    '''
    try...except:
    用来引发异常

    try:
    print("请输入一个整数")
    a=int(input())
    print('值是:',a)
    except:
    print("您输入有误,请重新输入")
    '''
    # if 条件判断 TRUE执行 错误 else语句

    '''
    错误,异常,断言区别:
    错误:代码运行前的语法或者逻辑错误,语法错误在执行前修改,逻辑错误无法修改
    异常:
    1.异常产生:检查到错误且解释器认为是异常,抛出异常
    2.异常处理:截取异常,或略或者终止处理异常
    3.断言:就是拿实际的结果和预期的结果相互比较,断言就是比的过程

    '''

    import unittest #导入单元测试框架

    class TestStringMethods(unittest.TestCase):

       '''

       继承unittest下的TestCase

       

       测试用例(testCase):是为了某个特殊目标而编制的一组测试输入,

       执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。

       使用名称以字母开头的方法定义三个单独的测试 test。

       此命名约定通知测试运行器哪些方法代表测试。

          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

          assertIsNone(x) x is None

          assertIsNotNone(x) x is not None

          assertIn(a, b) a in b 3.1

          assertNotIn(a, b) a not in b

          assertIsInstance(a, b) isinstance(a, b)

          assertNotIsInstance(a, b) not isinstance(a, b)

       

       '''

        def test_upper(self):

           #定义一个以test开头的方法会自动调用

           #断言'foo'.upper() == 'FOO'

            self.assertEqual('foo'.upper(), 'FOO')

             

        def test_isupper(self):

           #断言'FOO'全部是大写 是真的

            self.assertTrue('FOO'.isupper())

           #断言'Foo'全部是大写是假的

            self.assertFalse('Foo'.isupper())

        def test_split(self):

            s = 'hello world'

            #断言s.split()的结果与['hello', 'world']相等

            self.assertEqual(s.split(), ['hello', 'world'])

            # check that s.split fails when the separator is not a string

             #检查。当分隔的不是字符串时,split失败 断言一个类型错误异常

            with self.assertRaises(TypeError):

                s.split(2)

    if __name__ == '__main__':

        unittest.main()

  • 相关阅读:
    正则表达式30分钟入门教程
    21 个HTML网页转RSS Feeds的工具
    批量去除PHP文件中bom的PHP代码
    WEB网页采集技术参考
    xcache
    Sonix SN9P701 OCR点读笔二维码识别源码
    UI设计素材资源网站推荐
    解决电信DNS劫持
    自学电子技术的最佳方法
    wp资源汇总
  • 原文地址:https://www.cnblogs.com/pythonyeyu/p/10529087.html
Copyright © 2020-2023  润新知