Test etmek istediğim bir yöntem (run_script
) var. Spesifik olarak subprocess.Popen
aramasının gerçekleştiğini test etmek istiyorum. subprocess.Popen
'un belirli parametrelerle denendiğini test etmek daha da iyi olacaktır. Testi çalıştırdığımda, TypeError: 'tuple' object is not callable
alırım.Python'da bir alt işlem çağrısına çağrı yapma
Metodlarımı, alt işleminin aslında sahte kullanılarak çağrıldığından emin olmak için nasıl test edebilirim?
@mock.patch('subprocess.Popen')
def run_script(file_path):
process = subprocess.Popen(['myscript', -M, file_path], stdout=subprocess.PIPE)
output,err = process.communicate()
return process.returncode
def test_run_script(self, mock_subproc_popen):
mock_subproc_popen.return_value = mock.Mock(communicate=('ouput','error'), returncode=0)
am.account_manager("path")
self.assertTrue(mock_subproc_popen.called)