mock testing mit python
TRANSCRIPT
Mock Testing mit PythonPyBonn Meetup – März 2013
Timo Stollenwerk
Testing Pyramide
Ein Test ist kein Unit Test wenn
● Datenbankverbindung● Netzwerkverbindung● Dateisystemzugriff● Externer Service
Mocks in Python
● Mock● Mocker● pMock● pyMock● mox● ...
PostMonkey
>>> from postmonkey import PostMonkey
>>> pm = PostMonkey('your_api_key')
>>> pm.ping()
u"Everything's Chimpy!"
Mocker
>>> mocker = Mocker()
>>> postmonkey = mocker.replace("postmonkey")
>>> pm = postmonkey.PostMonkey(ANY)
>>> pm.ping()
>>> mocker.result(u"Everything's Chimpy!")
>>> mocker.replay()
Mocker: PostMonkey
>>> from postmonkey import PostMonkey
>>> pm = PostMonkey('your_api_key')
>>> pm.ping()
u"Everything's Chimpy!"
>>> pm
<mocker.Mock object at 0x9d7624c>
Mock
>>> @patch('postmonkey.PostMonkey')
>>> def test_mailchimp_ping_method(mock_class):
>>> mock_class().ping = MagicMock(
>>> return_value=u"Everything's Chimpy!")
>>> from postmonkey import PostMonkey
>>> pm = PostMonkey('123')
>>> assert pm.ping() == u"Everything's Chimpy!"
>>> test_mailchimp_ping_method()
Mock Testing mit PythonPyBonn Meetup – März 2013
Timo Stollenwerk
github.com/tisto/mock-testing-in-python