Python学习笔记——测试

本文深入探讨了单元测试的实践应用,包括使用unittest库进行测试的方法,以及如何通过编写测试类和测试方法来验证代码功能的正确性。通过具体的代码示例,如get_formatted_name函数和AnonymousSurvey类的测试案例,展示了如何确保代码质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@测试分类

    #单元测试

    #全覆盖测试

    

@单元测试(测试方法)

    #引入unittest

    #例:

        name_function.py

        def get_formatted_name(first, middle,  last):

            full_name = first + " " + middle + " " + last

            return full_name.title()

 

    #test_name_function.py

        import unittest

        from name_function import get_formatted_name

 

        class NameTestCase(unittest.TestCase):

            """单元测试demo"""

 

        def test_get_formatted_name(self):

            formatted_name = get_formatted_name('janis', 'joplin')

            self.assertEqual(formatted_name, 'Janis Joplin')

 

 

        if __name__ == '__main__':

            unittest.main()

 

@unittest.TestCase类

    #assertEqual(a, b)            #核实a==b

    #assertNotEqual(a, b)      #核实a!=b

    #assertTrue(x)                  #核实x为True

    #assertFalse(x)                 #核实x为Flase

    #assertIn(item, list)          #核实item在list中

    #assertNotIn(item, list)    #核实item不在list中  

 

@单元测试(测试类)

    #例:

    #survey.py

    class AnonymousSurvey():

        """收集匿名调查问卷的答案"""

 

        def __init__(self, question):

            """存储一个问题,并为存储答案做准备"""

            self.question = question

            self.responses = []

 

        def show_question(self):

            """显示调查问卷"""

            print(self.question)

 

        def store_response(self, new_response):

            """存储单份调查答卷"""

            self.responses.append(new_response)

 

        def show_results(self):

            """显示收集到的所有答卷"""

            print("Survey results:")

            for response in self.responses:

                print('- ' + response)

 

  #language_survey.py

        from survey import AnonymousSurvey

 

        question = "What language did you first learn to speak?"

        my_survey = AnonymousSurvey(question)

 

        my_survey.show_question()

        print("Enter 'q' at any time to quit.\n")

        while True:

            response = input("Language:")

            if response == 'q':

                break

            my_survey.store_response(response)

 

        print("\nThank you to everyone who participated in the survey!")

        my_survey.show_results()

 

    #test_survey.py

        import unittest

        from survey import AnonymousSurvey

 

        class TestAnonymousSurvey(unittest.TestCase):

            """针对AnonymousSurvey类的测试"""

 

            def test_store_single_response(self):

                """测试单个答案会被妥善地存储"""

                question = "What language did you first learn to speak?"

                my_survey = AnonymousSurvey(question)

                my_survey.store_response('English')

 

                self.assertIn('English', my_survey.responses)

 

 

        if __name__ == '__main__':

            unittest.main()

以下是关于 Python 学习笔记、教程及相关资源的详细介绍: ### 关于 Python 学习笔记 一份全面的 Python 学习笔记可以显著提升学习效率。以下是一些推荐的资源及其特点: #### 1. **Python学习笔记资源介绍** - 这份笔记源自哔哩哔哩“python_子木”的优质视频教程,由作者整理成文档形式[^1]。 - 笔记覆盖了从基础到进阶的知识点,适合初学者以及需要巩固知识的程序员。 - 建议结合原视频教程一起学习,以便更深入地理解知识点。 #### 2. **B站黑马程序员Python教程学习笔记** - 此仓库提供了 B 站黑马程序员 Python 教程的学习笔记压缩包文件名:“B站黑马程序员Python教程学习笔记.zip”[^2]。 - 它包含了详尽的 Python 编程技巧和实践案例,非常适合希望通过自学提高技能的学习者。 #### 3. **零基础入门教程——《Python学习笔记.pdf》** - 针对完全无编程经验的新手设计,这本 PDF 文件以通俗易懂的方式讲解 Python 的核心概念[^3]。 - 不仅介绍了基本语法,还融入了 Python 社区推崇的设计哲学,例如“优雅优于笨拙”,帮助读者形成良好的编码风格。 #### 4. **Python 练习题集合** - GitHub 上有一份经典的练习题合集 `100+ Python challenging programming exercises`[^4]。 - 提供了一系列难度逐渐增加的实际问题,能够有效检验并强化所学知识。 --- ### 如何获取这些资源? | 名称 | 下载地址 | |------|----------| | Python学习笔记(子木版) | [GitCode](https://gitcode.com/Premium-Resources/4fc26) | | 黑马程序员Python教程笔记 | 参考相关说明下载对应 ZIP 文件 | | 零基础入门PDF | [GitCode](https://gitcode.com/Open-source-documentation-tutorial/36951) | | Python挑战性练习题 | [GitHub](https://github.com/zhiwehu/Python-programming-exercises/blob/master/100+%20Python%20challenging%20programming%20exercises.txt) | 注意:在使用任何第三方资源之前,请确认其合法性,并尊重原创者的版权条款。 --- ### 示例代码片段 如果想验证自己的学习成果,可以通过解决实际问题来测试能力。下面是一个简单的例子,展示如何利用循环结构打印九九乘法表: ```python for i in range(1, 10): for j in range(1, i + 1): print(f"{j} * {i} = {i * j}", end="\t") print() ``` 运行以上程序后会得到如下输出: ``` 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 ... ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值