[TIP] hasattr and Mock
Michael Foord
michael at voidspace.org.uk
Thu Aug 25 10:58:35 PDT 2011
On 25/08/2011 18:26, Jacocks, Jeremy wrote:
> This may be a known issue, but is there a good workaround to hasattr always returning true for a mocked object?
>
> Any links or documentation on the subject would be helpful,
An example:
>>> from mock import Mock
>>> m = Mock(spec=['foo'])
>>> hasattr(m, 'bar')
False
spec can also be an object (like a class), in which case the list of
allowed members is taken from the dir of the object you pass in.
You can get this behaviour automatically with patch if you do:
with patch('foo.bar.baz', spec=True):
...
The created mock will have the spec of the object it is replacing.
All the best,
Michael Foord
> Thank you!
>
> Jeremy
>
> _______________________________________________
> testing-in-python mailing list
> testing-in-python at lists.idyll.org
> http://lists.idyll.org/listinfo/testing-in-python
>
--
http://www.voidspace.org.uk/
May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html
More information about the testing-in-python
mailing list