Yes I'll do it as a separate plugin first
Then we can think about including it in the core
On Jul 29, 2014 9:46 PM, "Bruno Oliveira" <nicodde...@gmail.com> wrote:

> Hi,
>
> Perhaps this could a plugin (pytest-datadiff)? I know you can customize
> assertion messages for other types (see
> http://pytest.org/latest/assert.html#defining-your-own-assertion-comparison),
> but I don't know how that plays with assertions already built in pytest.
>
> Cheers,
>
>
> On Tue, Jul 29, 2014 at 5:24 AM, Anatoly Bubenkov <bubenk...@gmail.com>
> wrote:
>
>> 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
>>
>>
>
_______________________________________________
Pytest-dev mailing list
Pytest-dev@python.org
https://mail.python.org/mailman/listinfo/pytest-dev

Reply via email to