Ich versuche, Unit-Test zu schreiben, die Funktionsparameter überprüft:Wie Patch ctypes.WinDLL in Python zu verspotten?
def test_my_function():
my_function = mock.patch('mymodule.myclass.myfuction')
Meine fuction wie dies in mymodule aussieht:
from ctypes import POINTER, WinDLL, c_int, cast, pointer, byref
class myclass:
def myfunction():
# some logic
Test nicht mit Fehlermeldung:
ImportError: cannot import name WinDLL
Also, ich versuche Patch ctypes.WinDLL
in meinem Test zu verhöhnen:
mocker.patch('ctypes.WinDLL')
my_function = mock.patch('mymodule.myclass.myfuction')
Got error:
AttributeError: <module 'ctypes' from '/usr/lib/python2.7/ctypes/__init__.pyc'> does not have the attribute 'WinDLL
Ich kann nicht Mock Patch WINDLL, weil ctypes
definiert WinDLL
wenn Client Windows verwendet. Mein Betriebssystem ist Linux.
Ist es möglich, dieses Problem zu lösen?