Learning by examples ------------------------ XXX adding custom options +++++++++++++++++++++++ py.test supports adding of standard optparse_ Options. A plugin may implement the ``addoption`` hook for registering custom options:: class ConftestPlugin: def pytest_addoption(self, parser): parser.addoption("-M", "--myopt", action="store", help="specify string to set myopt") def pytest_configure(self, config): if config.option.myopt: # do action based on option value .. _optparse: http://docs.python.org/library/optparse.html Setting default values for test options ----------------------------------------- You can see all available command line options by running:: py.test -h py.test will lookup values of options in this order: * option value supplied at command line * content of environment variable ``PYTEST_OPTION_NAME=...`` * ``name = ...`` setting in the nearest ``conftest.py`` file. The name of an option usually is the one you find in the longform of the option, i.e. the name behind the ``--`` double-dash. IOW, you can set default values for options per project, per home-directoray, per shell session or per test-run. Plugin methods ---------------------------------- A Plugin class may implement the following attributes and methods: XXX _`pytest event`: Pytest Events ------------------- XXX