- 开发工具
开发工具
本章中描述的各模块可帮你编写 Python 程序。例如,pydoc
模块接受一个模块并根据该模块的内容来生成文档。doctest
和 unittest
这两个模块包含了用于编写单元测试的框架,并可用于自动测试所编写的代码,验证预期的输出是否产生。2to3 程序能够将 Python 2.x 源代码翻译成有效的 Python 3.x 源代码。
本章中描述的模块列表是:
typing
—- 类型标注支持- 类型别名
- NewType
- Callable
- 泛型(Generic)
- 用户定义的泛型类型
Any
类型- Nominal vs structural subtyping
- 类,函数和修饰器.
pydoc
—- Documentation generator and online help systemdoctest
—- 测试交互性的Python示例- 简单用法:检查Docstrings中的示例
- Simple Usage: Checking Examples in a Text File
- How It Works
- Which Docstrings Are Examined?
- How are Docstring Examples Recognized?
- What's the Execution Context?
- What About Exceptions?
- Option Flags
- Directives
- 警告
- Basic API
- Unittest API
- Advanced API
- DocTest 对象
- Example Objects
- DocTestFinder 对象
- DocTestParser 对象
- DocTestRunner 对象
- OutputChecker 对象
- 调试
- Soapbox
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
- Signal Handling
unittest.mock
—- mock对象库- Quick Guide
- The Mock Class
- 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
- Mocking asynchronous iterators
- Mocking asynchronous context manager
- 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
—- Regression tests package for 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
环境变量。