Loader: Egg Test discovery
What is Egg Discovery
Sometimes Python Eggs are marked as zip-safe and they can be installed zipped,
instead of unzipped in an .egg
folder. See http://peak.telecommunity.com/DevCenter/PythonEggs for more details.
The normal nose2.plugins.loader.discovery
plugin ignores modules located inside zip files.
The Egg Discovery plugin allows nose2 to discover tests within these zipped egg files.
This plugin requires pkg_resources
(from setuptools
) to work correctly.
Usage
To activate the plugin, include the plugin module in the plugins list
in [unittest]
section in a config file:
[unittest]
plugins = nose2.plugins.loader.eggdiscovery
Or pass the module with the --plugin
command-line option:
nose2 --plugin=nose2.plugins.loader.eggdiscovery module_in_egg
Reference
Egg-based discovery test loader.
This plugin implements nose2’s automatic test module discovery inside Egg Files.
It looks for test modules in packages whose names start
with test
, then fires the loadTestsFromModule()
hook for each
one to allow other plugins to load the actual tests.
It also fires handleFile()
for every file that it sees, and
matchPath()
for every Python module, to allow other plugins to
load tests from other kinds of files and to influence which modules
are examined for tests.
Enable this Plugin
This plugin is built-in, but not loaded by default.
Even if you specify always-on = True
in the configuration, it will not run unless you also enable it. You can do so by putting the following in a unittest.cfg
or nose2.cfg
file
[unittest]
plugins = nose2.plugins.loader.eggdiscovery
The plugins
parameter may contain a list of plugin names, including nose2.plugins.loader.eggdiscovery
Configuration [discovery]
- always-on
- Default
True
- Type
boolean
Sample configuration
The default configuration is equivalent to including the following in a unittest.cfg
file.
[discovery]
always-on = True