开发工具¶
本章中描述的各模块可帮你编写 Python 程序。例如,pydoc 模块接受一个模块并根据该模块的内容来生成文档。doctest 和 unittest 这两个模块包含了用于编写单元测试的框架,并可用于自动测试所编写的代码,验证预期的输出是否产生。2to3 程序能够将 Python 2.x 源代码翻译成有效的 Python 3.x 源代码。
本章中描述的模块列表是:
typing—— 对类型提示的支持- 有关 Python 类型系统的规范说明
 - 类型别名
 - NewType
 - 标注可调用对象
 - 泛型(Generic)
 - 标注元组
 - 类对象的类型
 - 标注生成器和协程
 - 用户定义的泛型类型
 Any类型- 名义子类型 vs 结构子类型
 - 模块内容
 - 主要特性的弃用时间线
 
pydoc--- 文档生成器和在线帮助系统- Python 开发模式
 doctest--- 测试交互式的 Python 示例unittest--- 单元测试框架- 基本实例
 - 命令行接口
 - 探索性测试
 - 组织你的测试代码
 - 复用已有的测试代码
 - 跳过测试与预计的失败
 - 使用子测试区分测试迭代
 - 类与函数
- 测试用例
TestCasesetUp()tearDown()setUpClass()tearDownClass()run()skipTest()subTest()debug()assertEqual()assertNotEqual()assertTrue()assertFalse()assertIs()assertIsNot()assertIsNone()assertIsNotNone()assertIn()assertNotIn()assertIsInstance()assertNotIsInstance()assertRaises()assertRaisesRegex()assertWarns()assertWarnsRegex()assertLogs()assertNoLogs()assertAlmostEqual()assertNotAlmostEqual()assertGreater()assertGreaterEqual()assertLess()assertLessEqual()assertRegex()assertNotRegex()assertCountEqual()addTypeEqualityFunc()assertMultiLineEqual()assertSequenceEqual()assertListEqual()assertTupleEqual()assertSetEqual()assertDictEqual()fail()failureExceptionlongMessagemaxDiffcountTestCases()defaultTestResult()id()shortDescription()addCleanup()enterContext()doCleanups()addClassCleanup()enterClassContext()doClassCleanups()
IsolatedAsyncioTestCaseFunctionTestCase
 - 分组测试
 - 加载和运行测试
TestLoaderTestResulterrorsfailuresskippedexpectedFailuresunexpectedSuccessescollectedDurationsshouldStoptestsRunbufferfailfasttb_localswasSuccessful()stop()startTest()stopTest()startTestRun()stopTestRun()addError()addFailure()addSuccess()addSkip()addExpectedFailure()addUnexpectedSuccess()addSubTest()addDuration()
TextTestResultdefaultTestLoaderTextTestRunnermain()- load_tests 协议
 
 
 - 测试用例
 - 类与模块设定
 - 信号处理
 
unittest.mock--- 模拟对象库- 快速上手
 - Mock 类
Mockassert_called()assert_called_once()assert_called_with()assert_called_once_with()assert_any_call()assert_has_calls()assert_not_called()reset_mock()mock_add_spec()attach_mock()configure_mock()__dir__()_get_child_mock()calledcall_countreturn_valueside_effectcall_argscall_args_listmethod_callsmock_calls__class__
NonCallableMockPropertyMockAsyncMock- 调用
 - 删除属性
 - Mock 的名称与 name 属性
 - 附加 Mock 作为属性
 
 - patch 装饰器
 - MagicMock 与魔术方法支持
 - 辅助对象
 - Order of precedence of 
side_effect,return_valueand wraps 
unittest.mock--- 新手入门- 2to3 --- 自动化的 Python 2 到 3 代码转写
 test--- Python 回归测试包test.support--- 针对 Python 测试套件的工具TestFailedResourceDeniedverboseis_jythonis_androidunix_shellLOOPBACK_TIMEOUTINTERNET_TIMEOUTSHORT_TIMEOUTLONG_TIMEOUTPGOPIPE_MAX_SIZEPy_DEBUGSOCK_MAX_SIZETEST_SUPPORT_DIRTEST_HOME_DIRTEST_DATA_DIRMAX_Py_ssize_tmax_memusereal_max_memuseMISSING_C_DOCSTRINGSHAVE_DOCSTRINGSTEST_HTTP_URLALWAYS_EQNEVER_EQLARGESTSMALLESTbusy_retry()sleeping_retry()is_resource_enabled()python_is_optimized()with_pymalloc()requires()sortdict()findfile()get_pagesize()setswitchinterval()check_impl_detail()set_memlimit()record_original_stdout()get_original_stdout()args_from_interpreter_flags()optim_args_from_interpreter_flags()captured_stdin()captured_stdout()captured_stderr()disable_faulthandler()gc_collect()disable_gc()swap_attr()swap_item()flush_std_streams()print_warning()wait_process()calcobjsize()calcvobjsize()checksizeof()anticipate_failure()system_must_validate_cert()run_with_locale()run_with_tz()requires_freebsd_version()requires_linux_version()requires_mac_version()requires_IEEE_754()requires_zlib()requires_gzip()requires_bz2()requires_lzma()requires_resource()requires_docstrings()requires_limited_api()cpython_only()impl_detail()no_tracing()refcount_test()bigmemtest()bigaddrspacetest()check_syntax_error()open_urlresource()reap_children()get_attribute()catch_unraisable_exception()load_package_tests()detect_api_mismatch()patch()run_in_subinterp()check_free_after_iterating()missing_compiler_executable()check__all__()skip_if_broken_multiprocessing_synchronize()check_disallow_instantiation()adjust_int_max_str_digits()SuppressCrashReportSaveSignalsMatcher
test.support.socket_helper--- 用于套接字测试的工具test.support.script_helper--- 用于 Python 执行测试工具test.support.bytecode_helper--- 用于测试正确字节码生成的支持工具test.support.threading_helper--- 用于线程测试的工具test.support.os_helper--- 用于操作系统测试的工具FS_NONASCIISAVEDCWDTESTFNTESTFN_NONASCIITESTFN_UNENCODABLETESTFN_UNDECODABLETESTFN_UNICODEEnvironmentVarGuardFakePathset()unset()can_symlink()can_xattr()change_cwd()create_empty_file()fd_count()fs_is_case_insensitive()make_bad_fd()rmdir()rmtree()skip_unless_symlink()skip_unless_xattr()temp_cwd()temp_dir()temp_umask()unlink()
test.support.import_helper--- 用于导入测试的工具test.support.warnings_helper--- 用于警告测试的工具