Python开发工具
本章中描述的各模块可帮你编写 Python 程序。例如,pydoc
模块接受一个模块并根据该模块的内容来生成文档。doctest
和 unittest
这两个模块包含了用于编写单元测试的框架,并可用于自动测试所编写的代码,验证预期的输出是否产生。2to3 程序能够将 Python 2.x 源代码翻译成有效的 Python 3.x 源代码。
本章中描述的模块列表是:
typing
--- 类型标注支持- 类型别名
- NewType
- Callable
- 泛型(Generic)
- 用户定义的泛型类型
Any
类型- 类,函数和修饰器.
pydoc
--- 文档生成器和在线帮助系统doctest
--- 测试交互性的Python示例- 简单用法:检查Docstrings中的示例
- 简单的用法:检查文本文件中的例子
- 它是如何工作的
- 哪些文件串被检查了?
- 文档串的例子是如何被识别的?
- 什么是执行上下文
- 异常如何处理?
- 选项标记
- 指令
- 警告
- 基本API
- Unittest API
- 高级 API
- DocTest 对象
- Example 对象
- DocTestFinder 对象
- DocTestParser 对象
- DocTestRunner 对象
- OutputChecker 对象
- 调试
- 肥皂盒
unittest
--- 单元测试框架- 基本实例
- 命令行界面
- 命令行选项
- 探索性测试
- 组织你的测试代码
- 复用已有的测试代码
- 跳过测试与预计的失败
- Distinguishing test iterations using subtests
- 类与函数
- 测试用例
- Deprecated aliases
- Grouping tests
- Loading and running tests
- load_tests Protocol
- 测试用例
- Class and Module Fixtures
- setUpClass and tearDownClass
- setUpModule and tearDownModule
- 信号处理
unittest.mock
--- 模拟对象库- 快速上手
- Mock 类
- Calling
- Deleting Attributes
- Mock names and the name attribute
- Attaching Mocks as Attributes
- The patchers
- patch
- patch.object
- patch.dict
- patch.multiple
- patch methods: start and stop
- patch builtins
- TEST_PREFIX
- Nesting Patch Decorators
- Where to patch
- Patching Descriptors and Proxy Objects
- MagicMock and magic method support
- Mocking Magic Methods
- Magic Mock
- Helpers
- sentinel
- DEFAULT
- call
- create_autospec
- ANY
- FILTER_DIR
- mock_open
- Autospeccing
- Sealing mocks
unittest.mock
上手指南- 使用 mock
- 模拟方法调用
- 对象上的方法调用的 mock
- Mocking Classes
- Naming your mocks
- Tracking all Calls
- Setting Return Values and Attributes
- Raising exceptions with mocks
- Side effect functions and iterables
- Creating a Mock from an Existing Object
- Patch Decorators
- Further Examples
- Mocking chained calls
- Partial mocking
- Mocking a Generator Method
- Applying the same patch to every test method
- Mocking Unbound Methods
- Checking multiple calls with mock
- Coping with mutable arguments
- Nesting Patches
- Mocking a dictionary with MagicMock
- Mock subclasses and their attributes
- Mocking imports with patch.dict
- Tracking order of calls and less verbose call assertions
- More complex argument matching
- 使用 mock
- 2to3 - 自动将 Python 2 代码转为 Python 3 代码
- 使用 2to3
- 修复器
lib2to3
—— 2to3 支持库
test
--- Python回归测试包- Writing Unit Tests for the
test
package - Running tests using the command-line interface
- Writing Unit Tests for the
test.support
--- Utilities for the Python test suitetest.support.script_helper
--- Utilities for the Python execution tests
另请参看 Python 开发模式: -X
dev
选项以及 PYTHONDEVMODE
环境变量。