unittest
Pythonでテストしていますが、問題ありません。今、私は紹介しましmock
た、そして私は質問を解決する必要があります. これは私のコードです:
from mock import Mock
import unittest
class Matematica(object):
def __init__(self, op1, op2):
self.op1 = op1
self.op2 = op2
def adder(self):
return self.op1 + self.op2
def subs(self):
return abs(self.op1 - self.op2)
def molt(self):
return self.op1 * self.op2
def divid(self):
return self.op1 / self.op2
class TestMatematica(unittest.TestCase):
"""Test della classe Matematica"""
def testing(self):
"""Somma"""
mat = Matematica(10,20)
self.assertEqual(mat.adder(),30)
"""Sottrazione"""
self.assertEqual(mat.subs(),10)
class test_mock(object):
def __init__(self, matematica):
self.matematica = matematica
def execute(self):
self.matematica.adder()
self.matematica.adder()
self.matematica.subs()
if __name__ == "__main__":
result = unittest.TextTestRunner(verbosity=2).run(TestMatematica('testing'))
a = Matematica(10,20)
b = test_mock(a)
b.execute()
mock_foo = Mock(b.execute)#return_value = 'rafa')
mock_foo()
print mock_foo.called
print mock_foo.call_count
print mock_foo.method_calls
このコードは機能的にあり、結果は次のprint
とおりです: True
、1
、[]
。ここで、 と が呼び出された回数を数える必要がself.matematica.adder()
ありself.matematica.subs()
ます。