[TIP] py.test + mock - how to test attribute "call"?
Sylvain Viart
sylvain at opensource-expert.com
Mon Oct 31 01:28:35 PDT 2016
Hi,
I writing a command line wrapper for managing powerdns via its
REST interface.
I'm now refactoring my proof of concept to a full python script. I'm
using requests library to communicate the Json code build by my python
class. I'm adding unittest to ensure no regression, from first bash + jq
+ python + json + jinja2 + yaml version.
I'm having trouble to understand how to use correctly mock object to
test correctness of requests' call and also returned object.
I'm using py.test + pytest-mock
I would like to test here that r.text is returned if I call:
r = p.exec_pdns_api('GET', rest_url, text=True)
https://github.com/opensource-expert/powerdns-shell-wrapper/blob/dev-override-cmd-line/pdns_zone.py#L79
how to I make an assertion that the r.text has been called/returned?
r is <MagicMock name='get().text' id='139703066450704'>
r.text.assert_called() is not the good assertion
test code here:
https://github.com/opensource-expert/powerdns-shell-wrapper/blob/dev-override-cmd-line/test/test_pdns_zone.py#L40
I may using a wrong way of testing it… Any hint would be appreciated.
Regards,
Sylvain.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.idyll.org/pipermail/testing-in-python/attachments/20161031/ca28c11a/attachment.html>
More information about the testing-in-python
mailing list