OpenCV 모듈을 모의하기 위해 sys.modules['cv2'] = Mock()
을 사용하고 있지만 변수가 전역 변수로 올바르게 설정되었는지 테스트하려면 assertEqual
을 사용하는 데 문제가 있습니다. 코드를 단순화했습니다. 내 조롱이 맞는지 확실하지 않습니다.Python이 전역 변수를 조롱합니다
from mock import patch, Mock
sys.modules['cv2'] = Mock()
from MyClass import MyClass
del sys.modules['cv2']
....
def testFunction()
myObject = MyClass()
self.assertEqual(myObject.val, ?) # here i don't know how to test the equality
및 파일 MyClass.py
: 어쩌면
import module
val1 = cv2.function(1)
val2 = cv2.function(2)
class MyClass():
def _init_(self)
self.val = val1
sys.modules [ 'cv2'] = Mock()'그리고 나서'sys.modules [ 'cv2']'를 삭제하면 sys.modules [ 'cv2']'(조롱 된 객체) -별로 이해가 안되네 ... – alfasin
나를 위해 조롱 후에 삭제를하는 것이 더 깔끔했습니다. 모든 opencv 함수는 가져 오는 동안 모의 객체입니다. 어쩌면 내가 틀렸어 –
비웃음을당한 후 2 줄을 지우는거야 - 조롱 된 객체를 사용하지 않고 – alfasin