美文网首页python进阶Java-Python-Django社区Python学习日志
【day 9】python编程:从入门到实践学习笔记-测试代码(

【day 9】python编程:从入门到实践学习笔记-测试代码(

作者: 苍云横渡 | 来源:发表于2018-03-21 09:37 被阅读129次

    学习笔记目录
    【day 1】python编程:从入门到实践学习笔记-安装、变量和简单数据类型
    【day 2】python编程:从入门到实践学习笔记-列表以及其操作
    【day 3】python编程:从入门到实践学习笔记-if 语句(末附练习答案代码)
    【day 4】python编程:从入门到实践学习笔记-字典(末附练习答案代码)
    【day 5】python编程:从入门到实践学习笔记-用户输入和while循环(末附答案代码)
    【day 6】python编程:从入门到实践学习笔记-函数(末附练习答案代码)
    【day 7】python编程:从入门到实践学习笔记-类(末附练习答案代码)
    【day 8】python编程:从入门到实践学习笔记-文件和异常(末附练习答案代码)
    【day 9】python编程:从入门到实践学习笔记-测试代码(末附练习答案代码)
    【day 10】python编程:从入门到实践学习笔记-Django入门(一)
    【day 11】python编程:从入门到实践学习笔记-Django入门(二)
    【day 12】python编程:从入门到实践学习笔记-Django入门(三)
    【day 13】python编程:从入门到实践学习笔记-Django入门(四)
    【day 14】python编程:从入门到实践学习笔记-用户账户(一)
    【day 15】python编程:从入门到实践学习笔记-用户账户(二)
    【day 16】python编程:从入门到实践学习笔记-用户账户(三)
    【day 17】python编程:从入门到实践学习笔记-设计样式和部署(一)
    【day 18】python编程:从入门到实践学习笔记-设计样式和部署(二)& 补充

    第十一章 测试代码

    测试函数

    单元测试和测试用例
    Python标准库中的模块unittest提供了代码测试工具。单元测试用于核实函数的某个方面没有问题;测试用例时一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求。。

    测试示例
    现在有这么一个函数以及其单元测试:

    #name_function.py
    def get_formatted_name(first, last, middle=''):
        if middle:
            full_name = first + ' ' + middle + ' ' + last
        else:
            full_name = first + ' ' + last
        return full_name.title()
    
    #test_name_ function.py
    import unittest
    from name_function import get_formatted_name
    
    class NamesTestCase(unittest.TestCase):
        def test_first_last_name(self):
            formatted_name = get_formatted_name('janis', 'joplin')
            self.assertEqual(formatted_name, 'Janis Joplin')
    
    unittest.main()
    
    运行结果:
    .
    ----------------------------------------------------------------------
    Ran 1 test in 0.000s
    OK
    

    首先导入模块unittest和要测试的函数get_formatted_ name()。接着创建一个单元测试类NamesTestCase,记住,类名最好包含Test并且继承unittest.TestCase类,这样python才能识别为测试类。
    接着编写好测试方法之后(在这里我们只写了一个方法:只有名和姓的姓名能否被正确地格式化),当我们运行 test_name_ function.py时,所有以test开头的方法都将自动运行
    最后,我们使用了unittest类的一个断言方法unittest.assertEqual(),用来核实得到的结果是否与期望的结果一致。代码行unittest.main()让python运行文件中的测试。

    测试类

    各种断言方法
    python的unittest.TestCase类中提供了很多断言方法(检查应该满足的条件是否确实满足,返回布尔值)。
    下面提供了六种常用的断言方法:

    • assertEqual(a, b):核实a == b
    • assertNotEqual(a, b):核实a != b
    • assertTrue(x):核实x为True
    • assertFalse(x):核实x为False
    • assertIn(item, list):核实item在list中
    • assertNotIn(item, list):核实item不在list中

    当测试方法多了起来的时候,每次都要创建一个实例对象很麻烦,而python的unittest.TestCase类中提供了方法setup(),让我们只需创建一次实例对象即可让所有方法使用该对象(运行测试时如果包含这个函数将会首先运行它)。
    注意:测试通过时为一个句点,测试引发错误时为一个E,测试导致断言失败时为一个F。


    第十一章练习答案代码
    链接:https://pan.baidu.com/s/1vnwIuf-NZXBoHYL7QUH7Fg 密码:pp35

    相关文章

      网友评论

        本文标题:【day 9】python编程:从入门到实践学习笔记-测试代码(

        本文链接:https://www.haomeiwen.com/subject/hgdbqftx.html