Skip to content

Commit

Permalink
Try to import "mock" before "unittest.mock"
Browse files Browse the repository at this point in the history
I have hit a bug in mock that is fixed in the version of mock included
with Python 3.5.1 but present in 3.3.5 (fixed indirectly in
testing-cabal/mock@eba505cf3e). I can install the fixed "mock" package from
PyPI, but because `pytest_mock` only uses `unittest.mock` for Python
3.3+, the fixed package has no effect.

Instead of trying to check versions, I take the EAFP approach and just
try to import `mock` and fall back to `unittest.mock`. It is possible
that an old version of "mock" could be installed with a newer Python,
but that seems easier to fix than the reverse.
  • Loading branch information
wcooley committed Jun 10, 2016
1 parent a1cba1d commit 861f9e8
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions pytest_mock.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import inspect
import sys

import pytest

if sys.version_info >= (3, 3): # pragma: no cover
import unittest.mock as mock_module
else:
try:
import mock as mock_module
except ImportError:
import unittest.mock as mock_module

version = '1.1'

Expand Down

0 comments on commit 861f9e8

Please sign in to comment.