我们从Python开源项目中,提取了以下15个代码示例,用于说明如何使用pytest.ini()。
def pytest_addoption(parser): group = parser.getgroup('debugconfig') group.addoption('--version', action="store_true", help="display pytest lib version and import information.") group._addoption("-h", "--help", action="store_true", dest="help", help="show help message and configuration info") group._addoption('-p', action="append", dest="plugins", default = [], metavar="name", help="early-load given plugin (multi-allowed). " "To avoid loading of plugins, use the `no:` prefix, e.g. " "`no:doctest`.") group.addoption('--traceconfig', '--trace-config', action="store_true", default=False, help="trace considerations of conftest.py files."), group.addoption('--debug', action="store_true", dest="debug", default=False, help="store internal tracing debug information in 'pytestdebug.log'.") group._addoption( '-o', '--override-ini', nargs='*', dest="override_ini", action="append", help="override config option, e.g. `-o xfail_strict=True`.")
def pytest_addoption(parser): group = parser.getgroup('debugconfig') group.addoption('--version', action="store_true", help="display pytest lib version and import information.") group._addoption("-h", "--help", action="store_true", dest="help", help="show help message and configuration info") group._addoption('-p', action="append", dest="plugins", default = [], metavar="name", help="early-load given plugin (multi-allowed). " "To avoid loading of plugins, use the `no:` prefix, e.g. " "`no:doctest`.") group.addoption('--traceconfig', '--trace-config', action="store_true", default=False, help="trace considerations of conftest.py files."), group.addoption('--debug', action="store_true", dest="debug", default=False, help="store internal tracing debug information in 'pytestdebug.log'.") group._addoption( '-o', '--override-ini', nargs='*', dest="override_ini", action="append", help="override config option with option=value style, e.g. `-o xfail_strict=True`.")
def test_not_set(ctestdir): """No pytest.ini file, e.g. automark_dependency is not set. Since automark_dependency defaults to false and test_a is not marked, the outcome of test_a will not be recorded. As a result, test_b will be skipped due to a missing dependency. """ ctestdir.makepyfile(""" import pytest def test_a(): pass @pytest.mark.dependency(depends=["test_a"]) def test_b(): pass """) result = ctestdir.runpytest("--verbose", "-rs") result.assert_outcomes(passed=1, skipped=1, failed=0) result.stdout.fnmatch_lines(""" *::test_a PASSED *::test_b SKIPPED """)
def main(): # pragma: no cover print('Checking requirements...') # Forces quiet output and overrides pytest.ini os.environ['PYTEST_ADDOPTS'] = '-q -s --tb=short' return pytest.main([__file__.replace('pyc', 'py')] + sys.argv[1:])
def run_tests(self): """Customized run""" # deferred import import pytest # run pytest with empty array so pytest.ini takes complete control # need to use [] because of https://github.com/pytest-dev/pytest/issues/1110 errno = pytest.main([]) sys.exit(errno) # # Main logic #
def showhelp(config): reporter = config.pluginmanager.get_plugin('terminalreporter') tw = reporter._tw tw.write(config._parser.optparser.format_help()) tw.line() tw.line() tw.line("[pytest] ini-options in the next " "pytest.ini|tox.ini|setup.cfg file:") tw.line() for name in config._parser._ininames: help, type, default = config._parser._inidict[name] if type is None: type = "string" spec = "%s (%s)" % (name, type) line = " %-24s %s" %(spec, help) tw.line(line[:tw.fullwidth]) tw.line() tw.line("environment variables:") vars = [ ("PYTEST_ADDOPTS", "extra command line options"), ("PYTEST_PLUGINS", "comma-separated plugins to load during startup"), ("PYTEST_DEBUG", "set to enable debug tracing of pytest's internals") ] for name, help in vars: tw.line(" %-24s %s" % (name, help)) tw.line() tw.line() tw.line("to see available markers type: pytest --markers") tw.line("to see available fixtures type: pytest --fixtures") tw.line("(shown according to specified file_or_dir or current dir " "if not specified)") for warningreport in reporter.stats.get('warnings', []): tw.line("warning : " + warningreport.message, red=True) return
def showhelp(config): reporter = config.pluginmanager.get_plugin('terminalreporter') tw = reporter._tw tw.write(config._parser.optparser.format_help()) tw.line() tw.line() tw.line("[pytest] ini-options in the first " "pytest.ini|tox.ini|setup.cfg file found:") tw.line() for name in config._parser._ininames: help, type, default = config._parser._inidict[name] if type is None: type = "string" spec = "%s (%s)" % (name, type) line = " %-24s %s" %(spec, help) tw.line(line[:tw.fullwidth]) tw.line() tw.line("environment variables:") vars = [ ("PYTEST_ADDOPTS", "extra command line options"), ("PYTEST_PLUGINS", "comma-separated plugins to load during startup"), ("PYTEST_DEBUG", "set to enable debug tracing of pytest's internals") ] for name, help in vars: tw.line(" %-24s %s" % (name, help)) tw.line() tw.line() tw.line("to see available markers type: pytest --markers") tw.line("to see available fixtures type: pytest --fixtures") tw.line("(shown according to specified file_or_dir or current dir " "if not specified)") for warningreport in reporter.stats.get('warnings', []): tw.line("warning : " + warningreport.message, red=True) return
def test_set_false(ctestdir): """A pytest.ini is present, automark_dependency is set to false. Since automark_dependency is set to false and test_a is not marked, the outcome of test_a will not be recorded. As a result, test_b will be skipped due to a missing dependency. """ ctestdir.makefile('.ini', pytest=""" [pytest] automark_dependency = false console_output_style = classic """) ctestdir.makepyfile(""" import pytest def test_a(): pass @pytest.mark.dependency(depends=["test_a"]) def test_b(): pass """) result = ctestdir.runpytest("--verbose", "-rs") result.assert_outcomes(passed=1, skipped=1, failed=0) result.stdout.fnmatch_lines(""" *::test_a PASSED *::test_b SKIPPED """)
def test_set_true(ctestdir): """A pytest.ini is present, automark_dependency is set to false. Since automark_dependency is set to true, the outcome of test_a will be recorded, even though it is not marked. As a result, test_b will be skipped due to a missing dependency. """ ctestdir.makefile('.ini', pytest=""" [pytest] automark_dependency = true console_output_style = classic """) ctestdir.makepyfile(""" import pytest def test_a(): pass @pytest.mark.dependency(depends=["test_a"]) def test_b(): pass """) result = ctestdir.runpytest("--verbose", "-rs") result.assert_outcomes(passed=2, skipped=0, failed=0) result.stdout.fnmatch_lines(""" *::test_a PASSED *::test_b PASSED """)
def showhelp(config): reporter = config.pluginmanager.get_plugin('terminalreporter') tw = reporter._tw tw.write(config._parser.optparser.format_help()) tw.line() tw.line() #tw.sep( "=", "config file settings") tw.line("[pytest] ini-options in the next " "pytest.ini|tox.ini|setup.cfg file:") tw.line() for name in config._parser._ininames: help, type, default = config._parser._inidict[name] if type is None: type = "string" spec = "%s (%s)" % (name, type) line = " %-24s %s" %(spec, help) tw.line(line[:tw.fullwidth]) tw.line() ; tw.line() #tw.sep("=") tw.line("to see available markers type: py.test --markers") tw.line("to see available fixtures type: py.test --fixtures") tw.line("(shown according to specified file_or_dir or current dir " "if not specified)") tw.line(str(reporter.stats)) for warningreport in reporter.stats.get('warnings', []): tw.line("warning : " + warningreport.message, red=True) return
def assert_case_equal(case, actual, desired): """ Assert ``actual == desired`` with formatted message. This is not needed for typical py.test use case, but as we need ``--assert=plain`` (see ../pytest.ini) to workaround some issue due to py.test magic, let's format the message by hand. """ assert actual == desired, """ Test %r failed. actual = %s desired = %s """ % (case, actual, desired)