what do you think about extending the existing assert representation with
this
https://pypi.python.org/pypi/datadiff
would be nice if we could extend datadiff with what pytest does for string
diff
and then just use datadiff for all assertions
because for now, it's not too useful to see a comparison of 2 dicts in the
pytest
it's not readable
especially if 2 dicts are big
and nowadays, json so dicts are everywhere
datadiff is cool at showing the diff between 2 dicts
the reason why im asking without the PR is the politics about the
dependencies
as i know you're not so positive about adding them
also this standalone mode is a bit tricky in that case, i guess
example:

def test_ticket_filter_on_order_uid__in(app, first_ticket, second_ticket,
second_basket_ticket, order, second_order):
"""Test if the right result is returned when filtering on basket."""
ticket_filter = pta.ticket.filter(api_key=app.uid,
order_uid__in=[order['uid']]).content
> assert ticket_filter == [first_ticket, second_ticket]
E assert [{'code': '91...dulum'}, ...}] == [{'basket_uid'... 'EUR'}, ...}]
E At index 0 diff: {'code': '911338060856', 'subtitle': {'en': u'Subtitle1
Kaleidoscope'}, 'uid': u'37bc3c15e66a45e9bf3b52233fcdff02', 'order_uid':
u'08dec1bd7ec249109729de448ffcc571', 'price': {'currency': 'EUR', 'amount':
'1.20'}, 'fees': [{'price': {'currency': 'EUR', 'amount': '2.00'}, 'type':
'service costs'}], 'product_uid': u'32c2a6f98f0642b9843a8dcce6dead56',
'name': {'en': u'Ticket1 \u2603 Weapon'}} != {'subtitle': {'en':
u'Subtitle1 Kaleidoscope'}, 'uid': u'37bc3c15e66a45e9bf3b52233fcdff02',
'price': {'currency': 'EUR', 'amount': '1.20'}, 'fees': [{'price':
{'currency': 'EUR', 'amount': '2.00'}, 'type': 'service costs'}],
'basket_uid': u'871e829da04e4cd9a45d244f55824c83', 'product_uid':
u'32c2a6f98f0642b9843a8dcce6dead56', 'name': {'en': u'Ticket1 \u2603
Weapon'}}
just unreadable


-- 
Anatoly Bubenkov
_______________________________________________
Pytest-dev mailing list
Pytest-dev@python.org
https://mail.python.org/mailman/listinfo/pytest-dev

Reply via email to