파이썬으로 간단한 테스트를하려하지만 조롱 프로세스를 수행하는 방법을 알아낼 수 없습니다. 전체 파이썬 클래스 모의
이
클래스와 데프 코드 :class FileRemoveOp(...)
@apply_defaults
def __init__(
self,
source_conn_keys,
source_conn_id='conn_default',
*args, **kwargs):
super(v4FileRemoveOperator, self).__init__(*args, **kwargs)
self.source_conn_keys = source_conn_keys
self.source_conn_id = source_conn_id
def execute (self, context)
source_conn = Connection(conn_id)
try:
for source_conn_key in self.source_keys:
if not source_conn.check_for_key(source_conn_key):
logging.info("The source key does not exist")
source_conn.remove_file(source_conn_key,'')
finally:
logging.info("Remove operation successful.")
그리고 이것은 실행에 대한 내 테스트입니다 기능 : 이후
@mock.patch('main.Connection')
def test_remove_execute(self,MockConn):
mock_coon = MockConn.return_value
mock_coon.value = #I'm not sure what to put here#
remove_operator = FileRemoveOp(...)
remove_operator.execute(self)
내가 필요 방법은 연결을 시도 실행 저를 조롱하기 위해, 나는 진짜 연결을 만들고 싶지 않습니다. 다만 뭔가 모의를 반환하십시오. 내가 어떻게 할 수 있니? 저는 Java로 테스트를 해본 적이 있지만 파이썬에서는 사용하지 않았습니다.
당신은 실제로 무엇을 시험하려고합니까? 일반적으로 테스트중인 코드에 의해 호출되고 모의 객체를 직접 호출하지 마십시오. 당신의 접근 방식으로 당신은 가짜만을 테스트 할 것입니다. –
더 완전한 예가 유용 할 것입니다. 당신이 달성하고자하는 것을 측정하는 것은 어렵습니다. 즉, 조롱 된 클래스가 호출되면 반환 된 인스턴스로 자동으로 다른 모의 객체가 만들어집니다. 그런 다음 필요에 따라 조롱 된 연결을 설정할 수 있습니다. – Dunes