Closed
Description
One of the issues we struggled with for astroplan was how to make the image comparison tests optional, i.e. have them skipped if matplotlib
or nose
as optional dependencies aren't installed.
@astrofrog – What do you think about the solution @eteq came up with?
(see https://github.com/astropy/astroplan/blob/master/astroplan/conftest.py)
def pytest_configure(config):
if hasattr(astropy_pytest_plugins, 'pytest_configure'):
# sure ought to be true right now, but always possible it will change in
# future versions of astropy
astropy_pytest_plugins.pytest_configure(config)
#make sure astroplan warnings always appear so we can test when they show up
warnings.simplefilter('always', category=AstroplanWarning)
try:
import matplotlib
import nose # needed for the matplotlib testing tools
HAS_MATPLOTLIB_AND_NOSE = True
except ImportError:
HAS_MATPLOTLIB_AND_NOSE = False
if HAS_MATPLOTLIB_AND_NOSE and config.pluginmanager.hasplugin('mpl'):
config.option.mpl = True
config.option.mpl_baseline_path = 'astroplan/plots/tests/baseline_images'
@astrofrog – I'd like to set up image comparison tests for other packages in the near future and have them optional. Could you please document the recommended setup?
I think it would also be good to have a short list of "packages using pytest-mpl" ... there's nothing better than working examples to get started.
Metadata
Metadata
Assignees
Labels
No labels