学习内容
- 如何处理使用文件,如何一次性读取整个文件或以每次一行的方式读取文件的内容;
- 如何写入文件,以及如何将文本附加到文件末尾;
- 认识异常,以及如何处理程序可能引发的异常;
- 学习使用模块 json 保存用户数据,以免在程序停止运行后丢失。
- 如何使用 Python 模块 unittest 中的工具来为函数和类编写测试;
- 如何编写继承 unittest.TestCase 的类,以及如何编写测试方法,以核实函数和类的行为符合预期;
- 如何使用方法 setUp() 来根据类高效地创建实例并设置其属性,以便在类的所有测试方法中都可使用它们。
知识点
- 异常是使用 try-except 代码块处理的。 try-except 代码块让 Python 执行指定的操作,同时告诉 Python 发生异常时怎么办。
- try-except-else 代码块的工作原理大致如下: Python 尝试执行 try 代码块中的代码;只有可能引发异常的代码才需要放在 try 语句中。有时候,有一些仅在 try 代码块成功执行时才需要运行的代码,这些代码应放在 else 代码块中。
- 模块 json 让你能够将简单的 Python 数据结构转储到文件中,并在程序再次运行时加载该文件中的数据。你还可以使用 json 在 Python 程序之间分享数据。更重要的是, JSON 数据格式并非 Python 专用的,这让你能够将以 JSON 格式存储的数据与使用其他编程语言的人分享。
- Python 标准库中的模块 unittest 提供了代码测试工具。 单元测试 用于核实函数的某个方面没有问题; 测试用例 是一组单元测试,这些单元测试一起核实函数在各种情形下的行为都符合要求。全覆盖式测试 用例包含一整套单元测试,涵盖了各种可能的函数使用方式。
- 为函数编写测试用例,先导入模块 unittest 以及要测试的函数,再创建一个继承unittest.TestCase的类,并编写一系列方法对函数行为的不同方面进行测试。
- unittest 类最有用的功能之一:断言 方法。断言方法用来核实得到的结果是否与期望的结果一致。
- unittest.TestCase 类包含方法 setUp() ,在编写的每个测试方法中都可使用在方法 setUp() 中创建的对象。如果在 TestCase 类中包含了方法 setUp() , Python 将先运行它,再运行各个以 test_ 打头的方法。
练习
# 文件和异常
第十一章 测试代码