class Example:
def __init__(self, data):
self.data = data
def _RunPhase1(self):
for d in data:
d = d * 3
def _RunPhase1(self):
for d in data:
d = (d / 2) + 5.0
def RunProcessingSequence(self):
self._RunPhase1()
self._RunPhase2()
请原谅这个示例代码的惯用性。我想知道如何编写一个单元测试,例如方法RunProcessingSequence,它将验证它确实调用了" private"实例方法_RunPhase1和_RunPhase2按此顺序。
我已经尝试过这种方法,但它似乎无法运作:
class TestExample(unittest.TestCase):
@mock.patch('__main__.Example')
def test_RunProcessingSequence(self, mock_e):
e = Example([1, 2, 3])
mock_e.return_value = e
e.RunProcessingSequence()
expected = [e._RunPhase1, e._RunPhase2]
self.assertTrue(mock_e.call_args_list == expected)
如何更改我的测试代码或我的测试方法,以达到预期的效果?