From 0c4898670c98fa39b393d396062d08808941ae5f Mon Sep 17 00:00:00 2001 From: Bruno Oliveira Date: Sat, 5 Jan 2019 12:55:39 -0200 Subject: [PATCH] Add changelog entry and update docs for importorskip --- changelog/4599.feature.rst | 2 ++ src/_pytest/outcomes.py | 11 ++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 changelog/4599.feature.rst diff --git a/changelog/4599.feature.rst b/changelog/4599.feature.rst new file mode 100644 index 000000000..12ed20b23 --- /dev/null +++ b/changelog/4599.feature.rst @@ -0,0 +1,2 @@ +``pytest.importorskip`` now supports a ``reason`` parameter, which will be shown when the +requested module cannot be imported. diff --git a/src/_pytest/outcomes.py b/src/_pytest/outcomes.py index cdda8630e..d27939e30 100644 --- a/src/_pytest/outcomes.py +++ b/src/_pytest/outcomes.py @@ -138,9 +138,14 @@ xfail.Exception = XFailed def importorskip(modname, minversion=None, reason=None): - """ return imported module if it has at least "minversion" as its - __version__ attribute. If no minversion is specified the a skip - is only triggered if the module can not be imported. + """Imports and returns the requested module ``modname``, or skip the current test + if the module cannot be imported. + + :param str modname: the name of the module to import + :param str minversion: if given, the imported module ``__version__`` attribute must be + at least this minimal version, otherwise the test is still skipped. + :param str reason: if given, this reason is shown as the message when the module + cannot be imported. """ import warnings