Skip to content

Commit 5f5ab6a

Browse files
committed
ENH: change unittest to verify ImportError is raised when required dependencies are missing
1 parent 17dae60 commit 5f5ab6a

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

pandas/tests/test_downstream.py

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -190,28 +190,20 @@ def test_yaml_dump(df):
190190
@pytest.mark.parametrize("dependency", ["numpy", "dateutil"])
191191
def test_missing_required_dependency(monkeypatch, dependency):
192192
# GH#61030
193-
# test pandas raises appropriate error when a required dependency is missing
194-
real_module = sys.modules.get(dependency)
193+
original_import = __import__
195194
mock_error = ImportError(f"Mock error for {dependency}")
196195

197196
def mock_import(name, *args, **kwargs):
198197
if name == dependency:
199198
raise mock_error
200-
return importlib.import_module(name)
199+
return original_import(name, *args, **kwargs)
201200

202-
try:
203-
monkeypatch.setattr("builtins.__import__", mock_import)
204-
205-
if dependency in sys.modules:
206-
del sys.modules[dependency]
201+
monkeypatch.setattr("builtins.__import__", mock_import)
207202

208-
with pytest.raises(ImportError) as excinfo:
209-
importlib.reload(importlib.import_module("pandas"))
203+
with pytest.raises(ImportError) as excinfo:
204+
importlib.reload(importlib.import_module("pandas"))
210205

211-
assert dependency in str(excinfo.value)
212-
finally:
213-
if real_module is not None:
214-
sys.modules[dependency] = real_module
206+
assert dependency in str(excinfo.value)
215207

216208

217209
def test_frame_setitem_dask_array_into_new_col(request):

0 commit comments

Comments
 (0)