<br><br><div class="gmail_quote">On Fri, Apr 9, 2010 at 9:06 PM, David Stanek <span dir="ltr">&lt;<a href="mailto:dstanek@dstanek.com">dstanek@dstanek.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">On Fri, Apr 9, 2010 at 8:54 PM, Alfredo Deza &lt;<a href="mailto:alfredodeza@gmail.com">alfredodeza@gmail.com</a>&gt; wrote:<br>
&gt; Hi<br>
&gt; I am having issues testing the constructor of a class that has a try/except<br>
&gt; block.<br>
&gt; Should __init__ raise an exception so I can catch via self.assertRaises to<br>
&gt; make it easier to test? Or are there other ways<br>
&gt; to make __init__ &quot;testable&quot;?<br>
&gt; What is the way you guys use the most (or like the best) for testing<br>
&gt; __init__?<br>
&gt;<br>
&gt;<br>
<br>
</div></div>Do you have a code snippet?<br>
<br>
If I understand you correctly I&#39;d write at least two tests. Something like:<br>
<br>
    @raises(SomeException)<br>
    def test_an_error_is_thrown():<br>
        # setup some mock stuff to make the __init__ raise an exception<br>
        ClassUnderTest(some mocks or something)<br>
<br></blockquote><div>I overlooked the possibility of using mock, thanks for pointing that out.</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

    def test_good_behavior():<br>
        # setup some mock stuff in a good way<br>
        x = ClassUnderTest(some mocks or something)<br>
        # assert some behavior<br>
<font color="#888888"><br></font></blockquote><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><font color="#888888">
--<br>
David<br>
blog: <a href="http://www.traceback.org" target="_blank">http://www.traceback.org</a><br>
twitter: <a href="http://twitter.com/dstanek" target="_blank">http://twitter.com/dstanek</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Alfredo Deza<br><br>