So I am trying to use unittest.mock to mock some of my methods in my unit tests. I do:
JavaScript
x
5
1
from unittest.mock import MagicMock
2
f = open("data/static/mock_ffprobe_response")
3
subprocess.check_output = MagicMock(return_value=f.read())
4
f.close()
5
But I am getting:
JavaScript
1
2
1
ImportError: No module named mock
2
I tried:
JavaScript
1
2
1
pip install mock
2
It’s still not working.
Advertisement
Answer
unittest
is a built-in module; mock
is an external library (pre-3.3 betas, anyway). After installing mock
via pip install
, you import it not by using
JavaScript
1
2
1
from unittest.mock import MagicMock
2
but
JavaScript
1
2
1
from mock import MagicMock
2
Edit: mock
has been included in the unittest
module (since Python3.3), and can be imported by import unittest.mock
.