开发工具¶
本章中介绍的模块可帮助你编写软件。 例如,pydoc 模块接受一个模块并根据该模块的内容来生成文档。 doctest 和 unittest 模块包含用于编写自动执行代码并验证是否产生预期的输出的单元测试的框架。
本章中描述的模块列表是:
- typing—— 对类型提示的支持- 有关 Python 类型系统的规范说明
- 类型别名
- NewType
- 标注可调用对象
- 泛型(Generic)
- 标注元组
- 类对象的类型
- 标注生成器和协程
- 用户定义的泛型类型
- Any类型
- 名义子类型 vs 结构子类型
- 模块内容- 特殊类型原语
- 协议
- 与 IO 相关的抽象基类
- 函数与装饰器
- 内省辅助器
- 常量
- 一些已被弃用的别名
 
- 主要特性的弃用时间线
 
- pydoc--- 文档生成器和在线帮助系统
- Python 开发模式
- doctest--- 测试交互式的 Python 示例
- unittest--- 单元测试框架- 基本实例
- 命令行接口
- 探索性测试
- 组织你的测试代码
- 复用已有的测试代码
- 跳过测试与预计的失败
- 使用子测试区分测试迭代
- 类与函数- 测试用例- TestCase- setUp()
- 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()
- failureException
- longMessage
- maxDiff
- countTestCases()
- defaultTestResult()
- id()
- shortDescription()
- addCleanup()
- enterContext()
- doCleanups()
- addClassCleanup()
- enterClassContext()
- doClassCleanups()
 
- IsolatedAsyncioTestCase
- FunctionTestCase
 
- 分组测试
- 加载和运行测试- TestLoader
- TestResult- errors
- failures
- skipped
- expectedFailures
- unexpectedSuccesses
- collectedDurations
- shouldStop
- testsRun
- buffer
- failfast
- tb_locals
- wasSuccessful()
- stop()
- startTest()
- stopTest()
- startTestRun()
- stopTestRun()
- addError()
- addFailure()
- addSuccess()
- addSkip()
- addExpectedFailure()
- addUnexpectedSuccess()
- addSubTest()
- addDuration()
 
- TextTestResult
- defaultTestLoader
- TextTestRunner
- main()
- load_tests 协议
 
 
- 测试用例
- 类与模块设定
- 信号处理
 
- unittest.mock--- 模拟对象库- 快速上手
- Mock 类- Mock- assert_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()
- called
- call_count
- return_value
- side_effect
- call_args
- call_args_list
- method_calls
- mock_calls
- __class__
 
- NonCallableMock
- PropertyMock
- AsyncMock
- ThreadingMock
- 调用
- 删除属性
- Mock 的名称与 name 属性
- 附加 Mock 作为属性
 
- patch 装饰器
- MagicMock 与魔术方法支持
- 辅助对象
- Order of precedence of side_effect,return_valueand wraps
 
- unittest.mock--- 新手入门
- test--- Python 回归测试包
- test.support--- 针对 Python 测试套件的工具- TestFailed
- ResourceDenied
- verbose
- is_jython
- is_android
- unix_shell
- LOOPBACK_TIMEOUT
- INTERNET_TIMEOUT
- SHORT_TIMEOUT
- LONG_TIMEOUT
- PGO
- PIPE_MAX_SIZE
- Py_DEBUG
- SOCK_MAX_SIZE
- TEST_SUPPORT_DIR
- TEST_HOME_DIR
- TEST_DATA_DIR
- MAX_Py_ssize_t
- max_memuse
- real_max_memuse
- MISSING_C_DOCSTRINGS
- HAVE_DOCSTRINGS
- TEST_HTTP_URL
- ALWAYS_EQ
- NEVER_EQ
- LARGEST
- SMALLEST
- busy_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_gil_enabled()
- 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()
- SuppressCrashReport
- SaveSignals
- Matcher
 
- test.support.socket_helper--- 用于套接字测试的工具
- test.support.script_helper--- 用于 Python 执行测试工具
- test.support.bytecode_helper--- 用于测试正确字节码生成的支持工具
- test.support.threading_helper--- 用于线程测试的工具
- test.support.os_helper--- 用于操作系统测试的工具- FS_NONASCII
- SAVEDCWD
- TESTFN
- TESTFN_NONASCII
- TESTFN_UNENCODABLE
- TESTFN_UNDECODABLE
- TESTFN_UNICODE
- EnvironmentVarGuard
- FakePath
- set()
- 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--- 用于警告测试的工具