# Plugins for nose2

## Built in and Loaded by Default

These plugins are loaded by default. To exclude one of these plugins from loading, add the plugin’s fully qualified module name to the `exclude-plugins` list in a config file’s `[unittest]` section, or pass the plugin module with the `--exclude-plugin` argument on the command line. You can also pass plugin module names to exclude to a `nose2.main.PluggableTestProgram` using the `excludePlugins` keyword argument.

- Loader: Test discovery
  - Configuration [discovery]
  - Plugin class reference: DiscoveryLoader
- Loader: Test Functions
  - Fixtures
  - Other attributes
  - Configuration [functions]
  - Plugin class reference: Functions
- Loader: Test Generators
  - Configuration [generators]
  - Plugin class reference: Generators
- Loader: Parameterized Tests
  - Such And The Parameters Plugin
  - Configuration [parameters]
  - Plugin class reference: Parameters
- Loader: Test Cases
  - Configuration [testcases]
  - Plugin class reference: TestCaseLoader
- Loader: Test Classes
  - `loadTestsFromTestClass()`
  - `getTestMethodNames()`
  - About Test Classes
  - Configuration [test-classes]
  - Plugin class reference: TestClassLoader
- Loader: load_tests protocol
  - Configuration [load_tests]
  - Plugin class reference: LoadTestsLoader
- Default filter: `__test__`
  - Plugin class reference: DunderTestFilter
- Reporting test results
  - Configuration [test-result]
  - Plugin class reference: ResultReporter
- Buffering test output
  - Configuration [output-buffer]
  - Command-line options
  - Plugin class reference: OutputBufferPlugin
- Dropping Into the Debugger
  - Configuration [debugger]
  - Command-line options
  - Plugin class reference: Debugger
- Stopping After the First Error or Failure
  - Command-line options
  - Plugin class reference: FailFast
- Capturing log messages
  - Configuration [log-capture]
  - Command-line options
  - Plugin class reference: LogCapture
- Test coverage reporting
  - Configuration [coverage]
  - Command-line options
  - Plugin class reference: Coverage
  - Differences From coverage
  - Compatibility with mp plugin
- Use assert statements in tests
  - Configuration [pretty-assert]
  - Command-line options
  - Plugin class reference: PrettyAssert
  - assert statement inspection
  - attribute resolution

## Built in but not Loaded by Default

These plugins are available as part of the nose2 package but are not loaded by default. To load one of these plugins, add the plugin module name (as dot-separated, fully qualified name) to the `plugins` list in a config file’s `[unittest]` section, or pass the plugin module with the `--plugin` argument on the command line. You can also pass plugin module names to a `nose2.main.PluggableTestProgram` using the `plugins` keyword argument.

- Outputting XML Test Reports
  - Enable this Plugin
  - Configuration [junit-xml]
  - Command-line options
  - Plugin class reference: JUnitXmlReporter
  - Sample output
- Selecting tests with attributes
  - Select tests having an attribute
  - Select tests that do not have an attribute
- Running Tests in Parallel with Multiple Processes
  - Usage
  - Guidelines for Test Authors
  - Guidelines for Plugin Authors
  - Possible Issues On Windows
  - Reference
- Organizing Test Fixtures into Layers
  - Sub-layers
  - Layer method reference
  - Layers DSL
  - Pretty reports
  - Warnings and Caveats
  - Plugin reference
- Loader: Doctests
  - Enable this Plugin
  - Configuration [doctest]
  - Command-line options
  - Plugin class reference: DocTestLoader
- Mapping exceptions to test outcomes
  - Enable this Plugin
  - Configuration [outcomes]
  - Command-line options
  - Plugin class reference: Outcomes
- Collecting tests without running them
  - Enable this Plugin
  - Configuration [collect-only]
  - Command-line options
  - Plugin class reference: CollectOnly
- Using Test IDs
  - Enable this Plugin
  - Configuration [testid]
  - Command-line options
  - Plugin class reference: TestId
- Profiling
  - Enable this Plugin
  - Configuration [profiler]
  - Command-line options
  - Plugin class reference: Profiler
- Tracing hook execution
  - Enable this Plugin
  - Configuration [print-hooks]
  - Command-line options
  - Plugin class reference: PrintHooks
  - Sample output
- Loader: Egg Test discovery
  - What is Egg Discovery
  - Usage
  - Reference

## Third-party Plugins

If you are a plugin author, please add your plugin to the list on the nose2 wiki. If you are looking for more plugins, check that list!