<div>Thank you, you are right, this solves my problem. </div><div><br></div><div>I assumed that the MagicMock default return values applied (<a href="http://www.voidspace.org.uk/python/mock/magicmock.html#magic-mock">http://www.voidspace.org.uk/python/mock/magicmock.html#magic-mock</a>) without actually trying manually.</div>
<br>Cheers<div>Alexandre<br><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Date: Sat, 1 Oct 2011 11:10:26 -0500<br>
From: "Matthew J. Morrison" <<a href="javascript:;" onclick="_e(event, 'cvml', 'mattjmorrison@mattjmorrison.com')">mattjmorrison@mattjmorrison.com</a>><br>
Subject: Re: [TIP] [Python 2] Objects' mocked magic method returns<br>
another mock<br>
To: "<a href="javascript:;" onclick="_e(event, 'cvml', 'testing-in-python@lists.idyll.org')">testing-in-python@lists.idyll.org</a>"<br>
<<a href="javascript:;" onclick="_e(event, 'cvml', 'testing-in-python@lists.idyll.org')">testing-in-python@lists.idyll.org</a>><br>
Message-ID:<br>
<<a href="javascript:;" onclick="_e(event, 'cvml', 'CAKUA1R7bdDkPWoNYjcRjTMRp99JRpU5KBk2Tq8Cg6iZ-D+5sdQ@mail.gmail.com')">CAKUA1R7bdDkPWoNYjcRjTMRp99JRpU5KBk2Tq8Cg6iZ-D+5sdQ@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
You'll need to make sure that the __int__ method returns an int.<br>
<br>
after your PATCH.start() try adding<br>
<br>
T1.__int__.return_value = 1<br>
<br>
On Sat, Oct 1, 2011 at 5:12 AM, Alexandre Gravier <<br>
<a href="javascript:;" onclick="_e(event, 'cvml', 'alexandre.gravier@gmail.com')">alexandre.gravier@gmail.com</a>> wrote:<br>
<br>
> Hi testers-in-python,<br>
><br>
> I am stuck on the following:<br>
><br>
> from mock import patch<br>
><br>
> class TestObject(object):<br>
> def __int__(self):<br>
> return 42<br>
><br>
> PATCH = patch.object(TestObject, "__int__")<br>
> T1 = TestObject()<br>
> PATCH.start()<br>
> print "int(T1) with patched class:", int(T1)<br>
><br>
> Output: [...]<br>
> TypeError: __int__ returned non-int (type Mock)<br>
><br>
> Am I understanding mock.patch.object incorrectly? I need to temporarily<br>
> mock the __int__ macig method, so the patch should be stop()able.<br>
> The platform is Python 2.7.2, linux, 32 bit, mock 0.7.2, virtualenv, yadda<br>
> yadda<br>
><br>
> Does anyone have some idea to help me understand what I'm doing wrong?<br>
><br>
> Thanks :)<br>
> Alexandre<br>
><br>
> _______________________________________________<br>
> testing-in-python mailing list<br><br>
</blockquote></div>