0
我正在對DLL/SO進行Python包裝。我已經驗證了調用實際DLL和SO的代碼。我想單元測試我的包裝,而不需要底層DLL/SO被安裝。我正在尋找使用mock。如何在Python中使用ctypes.byref作爲參數之一來模擬ctypes函數
我遇到的問題是採用byref參數和返回值的函數。例如,如果C fundtion看起來是這樣的:
int initialize(char *resource, ulong *new_handle)
{
// Some code here
*new_handle = temp_handle;
return error;
}
和Python代碼看起來像:
error_code = library.initialize(resource.encode('ascii'), ctypes.byref(session_handle))
我能嘲笑的功能和設置的返回值(錯誤代碼)但我一直無法弄清楚如何設置session_handle中返回的值。
這是可能的,如果是這樣,如何?