26. 开发工具¶
本章中描述的各模块可帮你编写 Python 程序。例如,pydoc
模块接受一个模块并根据该模块的内容来生成文档。doctest
和 unittest
这两个模块包含了用于编写单元测试的框架,并可用于自动测试所编写的代码,验证预期的输出是否产生。2to3 程序能够将 Python 2.x 源代码翻译成有效的 Python 3.x 源代码。
本章中描述的模块列表是:
- 26.1.
typing
— 类型标注支持 - 26.2.
pydoc
— 文档生成器和在线帮助系统 - 26.3.
doctest
— 测试交互性的Python示例 - 26.4.
unittest
— 单元测试框架 - 26.5.
unittest.mock
— 模拟对象库 - 26.6.
unittest.mock
上手指南- 26.6.1. 使用 mock
- 26.6.1.1. 模拟方法调用
- 26.6.1.2. 对象上的方法调用的 mock
- 26.6.1.3. Mocking Classes
- 26.6.1.4. Naming your mocks
- 26.6.1.5. Tracking all Calls
- 26.6.1.6. Setting Return Values and Attributes
- 26.6.1.7. Raising exceptions with mocks
- 26.6.1.8. Side effect functions and iterables
- 26.6.1.9. Creating a Mock from an Existing Object
- 26.6.2. Patch Decorators
- 26.6.3. Further Examples
- 26.6.3.1. Mocking chained calls
- 26.6.3.2. Partial mocking
- 26.6.3.3. Mocking a Generator Method
- 26.6.3.4. Applying the same patch to every test method
- 26.6.3.5. Mocking Unbound Methods
- 26.6.3.6. Checking multiple calls with mock
- 26.6.3.7. Coping with mutable arguments
- 26.6.3.8. Nesting Patches
- 26.6.3.9. Mocking a dictionary with MagicMock
- 26.6.3.10. Mock subclasses and their attributes
- 26.6.3.11. Mocking imports with patch.dict
- 26.6.3.12. Tracking order of calls and less verbose call assertions
- 26.6.3.13. More complex argument matching
- 26.6.1. 使用 mock
- 26.7. 2to3 - 自动将 Python 2 代码转为 Python 3 代码
- 26.8.
test
— Python回归测试包 - 26.9.
test.support
— Utilities for the Python test suite