1
所以我有單元測試用例類和我想測試的類。這個類中有一個函數,它有一個函數用於運行我正在測試的這個方法。以可視化的問題,我會寫下面的一些抽象代碼:如何在測試類中模擬函數,而不是在單元測試的情況下
import needed_module
from casual_class import CasualClass
class CasualClassTests(unittest.TestCase):
def setUp(self):
self.casual_class = CasualClass()
def _run(self, func):
result = needed_module.runner(func)
return result
@mock.patch('needed_module.runner', return_value='test_run_output')
def test_get_that_item(self, mocked_runner):
result = self._run(self.casual_class.get_that_item())
而且測試類:
import needed_module
class CasualClass:
def get_that_item(self):
#..some code..
run_output = needed_module.runner(something)
return something2
在這段代碼get_that_item代碼甚至不會運行,因爲跑步者嘲笑。我想實現的是在測試用例中運行needed_module.runner original,並在被測試的類中嘲笑一個。我已經在互聯網上搜索太久了,要解決這個問題...