[issue13387] add exact_type argument to assertIsInstance

Éric Araujo report at bugs.python.org
Sat Nov 12 16:32:21 CET 2011


Éric Araujo <merwok at netwok.org> added the comment:

>I would say that this one is clear too:
>  aelf.assertTrue(isinstance(obj, cls))
> except that the failure message is not very friendly:
>  AssertionError: False is not true
Yeah, you have to give something as third argument to ease debugging.

> If we keep assertIsInstance, more people will continue to misuse it just because the
> method exist, when they really want to check (type(obj) is cls).
If they make that mistake, it is because they don’t understand what isinstance does.

> An option could be to add a snippet to the documentation of `assertIsInstance` stating
> that the right way to check exact type is `assertIs(type(obj), cls)`.
My point was that maybe they think they really want to check the type, but with Python you don’t have to care that much most of the time.

+1 on a doc addition (I can even volunteer a patch)
-0.5 on the proposed new argument

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13387>
_______________________________________


More information about the Python-bugs-list mailing list