lundi 22 juin 2015

python urlopen mock fail

I want to mock urlopen in my tests because of speeding. But I ran this code in Mint 17 with python3.4:

from unittest.mock import patch
import urllib
from urllib import request
from urllib.request import urlopen

@patch('urllib.request.urlopen')
def openPatch(urlopenMock):
    print(urlopenMock)
    print(urlopen)
    print(request.urlopen)
    print(urllib.request.urlopen)

openPatch()

and got

<MagicMock name='urlopen' id='140645541554384'>
<function urlopen at 0x7fea9764c268>
<MagicMock name='urlopen' id='140645541554384'>
<MagicMock name='urlopen' id='140645541554384'>

request.urlopen and urllib.request.urlopen worked. Why urlopen had been not mocked?

Aucun commentaire:

Enregistrer un commentaire