asrt类提供的断言两个对象相等的方法

更新时间:2023-06-24 02:54:21 阅读: 评论:0

鸦片战争的原因asrt类提供的断言两个对象相等的方法
    在Python编程语言中,asrt语句用于在程序的某个位置添加断言条件,当这个断言条件不成立时,断言语句就会抛出AsrtionError异常,从而终止程序的运行。asrt语句的语法形式为:
    ```
    asrt expression [, arguments]
    ```
    expression是一个bool类型的表达式,如果为True,则程序继续运行;如果为Fal,则会抛出异常,并停止程序执行。arguments是一个可选的参数,它表示AsrtionError异常在抛出时所带的错误信息。
    一、asrtEqual方法
    asrtEqual方法是asrt提供的一个断言两个对象相等的方法。它的语法形式为:
    ```
    asrtEqual(first, cond [, msg])
    ```
    first和cond是要判断的两个对象,msg是可选的一个参数,表示AsrtionError抛出时的错误信息。如果first和cond相等,则不会抛出异常;否则,会抛出AsrtionError异常。
    下面是一个使用asrtEqual方法的例子:
    ```
    import unittest
    class TestStringMethods(unittest.TestCa):
    def test_upper(lf):
    lf.asrtEqual('foo'.upper(), 'FOO')
    def test_isupper(lf):
    lf.asrtTrue('FOO'.isupper())
    lf.asrtFal('Foo'.isupper())
    ```
    在这个例子中,我们定义了一个名为TestStringMethods的类,它是unittest.TestCa的子类。在TestStringMethods中,我们定义了两个测试方法test_upper和test_isupper。在test_upper方法中,我们使用asrtEqual方法判断'foo'.upper()是否等于'FOO';在test_isupper方法中,我们使用asrtTrue和asrtFal方法,分别判断'FOO'.isupper()和'Foo'.isupper()的结果是否为True。
    二、asrtNotEqual方法
    asrtNotEqual方法是asrt提供的与asrtEqual方法相反的方法,它的语法形式为:
    ```
    asrtNotEqual(first, cond [, msg])
    ```
    first和cond是要判断的两个对象,msg是可选的一个参数,表示AsrtionError抛出时的错误信息。如果first和cond不相等,则不会抛出异常;否则,会抛出AsrtionError异常。
    下面是一个使用asrtNotEqual方法的例子:
    ```
    import unittest
    class TestStringMethods(unittest.TestCa):
    def test_lower(lf):
    lf.asrtNotEqual('FOO'.lower(), 'foo')
    def test_islower(lf):
    lf.asrtTrue('foo'.islower())
    lf.asrtFal('Foo'.islower())
圣诞节手抄报    ```
    在这个例子中,我们也定义了一个名为TestStringMethods的类,它是unittest.TestCa的子类。在TestStringMethods中,我们又定义了两个测试方法test_lower和test_islower。在test_lower方法中,我们使用asrtNotEqual方法判断'FOO'.lower()是否不等于'foo';在test_islower方法中,我们使用asrtTrue和asrtFal方法,分别判断'foo'.islower()和'Foo'.islower()的结果是否为True。
    三、asrtAlmostEqual方法
    asrtAlmostEqual是asrt提供的一个比较两个数值是否相等的方法。它的语法形式为:
民法名词解释
    ```
    asrtAlmostEqual(first, cond [, places [, msg [, delta]]])
    ```
    first和cond是要判断的两个数值;places是一个可选参数,表示要比较的小数点位数(默认为7);msg是可选的一个参数,表示AsrtionError抛出时的错误信息;delta也是一个可选的参数,表示两个数值之间的绝对误差不能大于delta。如果first和cond之间的差不超过delta,则不会抛出异常;否则,会抛出AsrtionError异常。
    下面是一个使用asrtAlmostEqual方法的例子:
    ```
    import unittest
    class TestMathMethods(unittest.TestCa):
    def test_add(lf):
    lf.asrtAlmostEqual(0.1 + 0.2, 0.3)
    def test_divide(lf):
    lf.asrtAlmostEqual(1.0/3.0, 0.333333333, places=7)
    ```
    在这个例子中,我们定义了一个名为TestMathMethods的类,它是unittest.TestCa的子类。在TestMathMethods中,我们定义了两个测试方法test_add和test_divide。在test_add方法中,我们使用asrtAlmostEqual方法判断0.1+0.2是否等于0.3;在test_divide方法中,我们使用asrtAlmostEqual方法判断1.0/3.0是否等于0.333333333,且小数点后保留7位。
    四、asrtNotAlmostEqual方法
二十四小时第二季
    asrtNotAlmostEqual方法是asrt提供的与asrtAlmostEqual方法相反的方法,它的
语法形式为:
    ```
    asrtNotAlmostEqual(first, cond [, places [, msg [, delta]]])
    ```
    first和cond是要判断的两个数值;places是一个可选参数,表示要比较的小数点位数(默认为7);msg是可选的一个参数,表示AsrtionError抛出时的错误信息;delta也是一个可选的参数,表示两个数值之间的绝对误差不能大于delta。如果first和cond之间的绝对误差超过delta,则不会抛出异常;否则,会抛出AsrtionError异常。
分合式    下面是一个使用asrtNotAlmostEqual方法的例子:
    ```
光碟制作一颗小草莓    import unittest
    class TestMathMethods(unittest.TestCa):
    def test_multiply(lf):
    lf.asrtNotAlmostEqual(0.1 * 0.2, 0.03, delta=1e-5)奋斗终生
    def test_subtract(lf):
    lf.asrtNotAlmostEqual(100 - 0.1 - 0.2, 99.7, places=1)
    ```
    在这个例子中,我们再次定义了一个名为TestMathMethods的类,它是unittest.TestCa的子类。在TestMathMethods中,我们定义了两个测试方法test_multiply和test_subtract。在test_multiply方法中,我们使用asrtNotAlmostEqual方法判断0.1 * 0.2是否不等于0.03,且两者之间的绝对误差不能大于1e-5;在test_subtract方法中,我们使用asrtNotAlmostEqual方法判断100 - 0.1 - 0.2是否不等于99.7,并且小数点后只能保留1位。
    总结
    asrtEqual、asrtNotEqual、asrtAlmostEqual、asrtNotAlmostEqual这四个方法是Python提供的非常有用的断言工具,可以让我们方便地对代码进行测试和调试。在使用这些方法的时候,我们需要根据具体的情况选择合适的方法,并设置好相关的参数,以达到测试的目的。这四个方法的语法形式简单清晰,使用也十分方便,尤其适合针对数据的处理和比较。

本文发布于:2023-06-24 02:54:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1052165.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:方法   使用   参数   断言
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图