黑马程序员技术交流社区

标题: 【广州python】单元测试 [打印本页]

作者: 丁柳    时间: 2019-1-3 13:41
标题: 【广州python】单元测试
一、单元测试--断言的作用
    程序员自己写一段代码,测试自己写的目标代码功能是不是符合预期

    在Web开发过程中,单元测试实际上就是一些“断言”(assert)代码。

    断言的作用,可以在程序达不到预期的时候做一些错误提示


    例如:assert的使用
    """
    assert 判断条件, 断言错误时候的信息

    条件不成立的时候,报AssertionError错误,错误信息就是后面的  断言错误时候的信息

    """
    def fn(a, b):
        # 下断言
        # assert isinstance(a, int), "a必须是数字类型"
        return a // b


    if __name__ == "__main__":
        print(fn("as", 2))


二、单元测试代码格式

    # 导入
    import unittest
    from demo2 import app

    # 书写单元测试类
    class DemoTestCase(unittest.TestCase):

        def setUp(self):
            app.testing = True  # 设置为True之后,只要被测试代码出现异常,会提示被测试代码出现异常所在的位置


            """在调用测试函数之前会调用该方法,可以在这里面做一些初始化操作"""
            """比如抽取一些通用代码,或者开启flask测试标志"""

        def tearDown(self):
            """在调用测试函数之后会调用该方法,可以在这里面做一些测试之后的处理工作"""
            """比如清理数据"""


        # 单元测试的方法要以test开头
        def test_测试函数的名称(self):

            测试代码

            测试过程中按照出现的结果来下断言
            比如:
            self.assertIn("errcode", json_dcit, "返回数据格式不正确")
            errcode = json_dcit.get("errcode")
            self.assertEqual(errcode, -2, "返回的状态码有错误")






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2