On 14 July 2015 at 20:27, Robert Collins <robe...@robertcollins.net> wrote:
> Well.
>
> I'd go further and just separate the APIs.
>
> mock.assert_called_with(a_mock, *args, **kwargs)
>
> mock can know how to poke under the covers (e.g. using
> __Mock_assert_called_with) without leaking it into the users objects.

As someone who makes limited use of mock, and therefore whose opinion
shouldn't carry too much weight, I like this option.

>> Given that it's way too late to take that path, I can see the value of
>> trying to detect common errors. Particularly as the result of failing
>> to do so is an apparently-passing test.
>
> We can add a new API and gradually deprecate the old one. With the
> presence of 'mock' as a rolling backport, this can be used by folk on
> Python 3.3 and 3.4 so they don't get locked into one release of Python
> or another.

You're right - I hadn't thought of this approach.

>> In effect, this patch is "reserving" all attributes starting with
>> "assert" or "assret" as actual methods of the mock object, and not
>> mocked attributes.
>
> Yes, and thats ugly. OTOH it caught hundreds of useless tests in
> OpenStack when this got ported into mock 1.1.0.

... which I guess counts as strong evidence that this *is* a common
typo, at least in certain contexts.

Paul
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to