25. 開發工具
************

The modules described in this chapter help you write software.  For
example, the "pydoc" module takes a module and generates documentation
based on the module’s contents.  The "doctest" and "unittest" modules
contains frameworks for writing unit tests that automatically exercise
code and verify that the expected output is produced.  **2to3** can
translate Python 2.x source code into valid Python 3.x code.

The list of modules described in this chapter is:

* 25.1. "pydoc" — Documentation generator and online help system

* 25.2. "doctest" — Test interactive Python examples

  * 25.2.1. Simple Usage: Checking Examples in Docstrings

  * 25.2.2. Simple Usage: Checking Examples in a Text File

  * 25.2.3. How It Works

    * 25.2.3.1. Which Docstrings Are Examined?

    * 25.2.3.2. How are Docstring Examples Recognized?

    * 25.2.3.3. What’s the Execution Context?

    * 25.2.3.4. What About Exceptions?

    * 25.2.3.5. Option Flags

    * 25.2.3.6. Directives

    * 25.2.3.7. Warnings

  * 25.2.4. Basic API

  * 25.2.5. Unittest API

  * 25.2.6. Advanced API

    * 25.2.6.1. DocTest Objects

    * 25.2.6.2. Example Objects

    * 25.2.6.3. DocTestFinder objects

    * 25.2.6.4. DocTestParser objects

    * 25.2.6.5. DocTestRunner objects

    * 25.2.6.6. OutputChecker objects

  * 25.2.7. Debugging

  * 25.2.8. Soapbox

* 25.3. "unittest" — 單元測試框架

  * 25.3.1. 簡單範例

  * 25.3.2. 命令執行列介面 (Command-Line Interface)

    * 25.3.2.1. 命令列模式選項

  * 25.3.3. Test Discovery（測試探索）

  * 25.3.4. Organizing test code

  * 25.3.5. Re-using old test code

  * 25.3.6. Skipping tests and expected failures

  * 25.3.7. Classes and functions

    * 25.3.7.1. Test cases

      * 25.3.7.1.1. Deprecated aliases

    * 25.3.7.2. Grouping tests

    * 25.3.7.3. Loading and running tests

      * 25.3.7.3.1. load_tests Protocol

  * 25.3.8. Class and Module Fixtures

    * 25.3.8.1. setUpClass and tearDownClass

    * 25.3.8.2. setUpModule and tearDownModule

  * 25.3.9. Signal Handling

* 25.4. 2to3 - 自動將 Python 2的程式碼轉成 Python 3

  * 25.4.1. 使用 2to3

  * 25.4.2. Fixers

  * 25.4.3. "lib2to3" - 2to3’s library

* 25.5. "test" — Regression tests package for Python

  * 25.5.1. Writing Unit Tests for the "test" package

  * 25.5.2. Running tests using the command-line interface

* 25.6. "test.support" — Utility functions for tests
