added testing for importorskip

This commit is contained in:
shekhuverma 2024-04-19 16:43:07 +05:30
parent 3a2621158c
commit fd288e13ac
1 changed files with 24 additions and 0 deletions

View File

@ -1,4 +1,5 @@
# mypy: allow-untyped-defs # mypy: allow-untyped-defs
import builtins
from functools import partial from functools import partial
import inspect import inspect
import os import os
@ -7,6 +8,8 @@ import sys
import types import types
from typing import Dict from typing import Dict
from typing import List from typing import List
from typing import Mapping
from typing import Sequence
from typing import Tuple from typing import Tuple
from typing import Type from typing import Type
@ -762,6 +765,27 @@ def test_importorskip_imports_last_module_part() -> None:
assert os.path == ospath assert os.path == ospath
def test_importorskip_importError_Exception() -> None:
## Mocking the import function to raise a importError
realimport = builtins.__import__
def myimport(
name: str,
globals: Mapping[str, object] | None = None,
locals: Mapping[str, object] | None = None,
fromlist: Sequence[str] = (),
level: int = 0,
) -> types.ModuleType:
raise ImportError
builtins.__import__ = myimport
with pytest.raises(ImportError):
pytest.importorskip("abcdefghi")
builtins.__import__ = realimport
def test_importorskip_dev_module(monkeypatch) -> None: def test_importorskip_dev_module(monkeypatch) -> None:
try: try:
mod = types.ModuleType("mockmodule") mod = types.ModuleType("mockmodule")