[pytest-dev] Displaying additional test failure information

Ronny Pfannschmidt ich at ronnypfannschmidt.de
Mon Mar 3 08:04:32 CET 2014


Hi,

2 ways come to mind

a) using print
b) using the == operator for the assertion and a assert_repr_compare hook
   see 
http://pytest.org/latest/assert.html#defining-your-own-assertion-comparison

-- Ronny
On Sunday, March 2, 2014 11:36:56 PM CEST, Jurko Gospodnetić wrote:
>    Hi all.
>
>    I was wondering if anyone can tell me the cleanest way to 
> make assertions in a specific part of my test code (e.g. a 
> specific test class or module) report some extra information on 
> test failure?
>
>    I can add a regular assertion description string, and that 
> displays the extra information but it also avoids regular pytest 
> test failure result reporting which I would like to keep.
>
>    I can also print out the extra information directly to 
> stdout/stderr - but that can be hard to read, especially if the 
> test prints out other data as well.
>
> Usage scenario:
> ---------------
>    Imagine a class for comparing two XML structures. That class 
> maintains some context information that would be useful to print 
> out when an XML mismatch is detected. For example, if it detects 
> two nodes with different namespaces, you want it to:
>    - report exactly which nodes these are and not just 'there 
> exist two nodes with mismatched namespaces'
>    - make this information available without the developer 
> having to drop into the debugger
>
>    If possible, it would also be a great plus if this extra 
> content could be integrated into the regular 'red' assertion 
> failure information.
>
>    Best regards,
>      Jurko Gospodnetić
>


More information about the Pytest-dev mailing list