J'ai la méthode suivante :
class Controls:
def check_os(self) -> None:
if os.name != "posix":
raise OSError
J'essaie de le tester comme ceci :
import pytest
@pytest.fixture
def name_mock(mocker):
return mocker.patch("path_to_module.controls.os.name", return_value="posix")
def test_check_os_fail(name_mock):
controls = Controls()
controls.check_os()
Mais alors l'erreur suivante est soulevée :
platform win32 -- Python 3.9.0, pytest-6.2.2, py-1.10.0, pluggy-0.13.1
plugins: cov-2.11.1, mock-3.5.1
collected 57 items / 56 deselected / 1 selected
tests\test_controls.py
INTERNALERROR> Traceback (most recent call last):
...
NotImplementedError: cannot instantiate 'PosixPath' on your system
Que se passe-t-il exactement ?