Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Python > Re: assertraises behaviour

Reply
Thread Tools

Re: assertraises behaviour

 
 
andrea crotti
Guest
Posts: n/a
 
      07-17-2012
2012/7/16 Peter Otten <(E-Mail Removed)>:
> No, I don't see how the code you gave above can fail with an OSError.
>
> Can you give an example that produces the desired behaviour with nose? Maybe
> we can help you translate it to basic unittest.
>
> --
> http://mail.python.org/mailman/listinfo/python-list



Well this is what I meant:

import unittest

class TestWithRaises(unittest.TestCase):
def test_first(self):
assert False

def test_second(self):
print("also called")
assert True

if __name__ == '__main__':
unittest.main()

in this case also the second test is run even if the first fails..
But that's probably easy because we just need to catch exceptions for
every method call, so it's not exactly the same thing..
 
Reply With Quote
 
 
 
 
Ulrich Eckhardt
Guest
Posts: n/a
 
      07-17-2012
Am 17.07.2012 11:06, schrieb andrea crotti:
> import unittest
>
> class TestWithRaises(unittest.TestCase):
> def test_first(self):
> assert False
>
> def test_second(self):
> print("also called")
> assert True
>
> if __name__ == '__main__':
> unittest.main()
>
> in this case also the second test is run even if the first fails..


The reason for that is that the unit testing framework catches and
handles the error. It calls both test functions in some unspecified
order and logs the result. Calls to two separate test functions are
thereby separated from each other. This is intentionally so, but I think
you can also give the unit testing framework a flag that makes it abort
after the first error. In no way will the exception escape from the
unittest.main() call though, it is all caught and handled inside, also
by intention.


> But that's probably easy because we just need to catch exceptions for
> every method call, so it's not exactly the same thing..


I don't understand what you want to say here. I also don't understand
what your problem in general is. I guess there are some expectations
which are not satisfied, but you haven't explained those explicitly yet.

Uli

 
Reply With Quote
 
 
 
 
Prasad, Ramit
Guest
Posts: n/a
 
      07-17-2012
> > import unittest

> >
> > class TestWithRaises(unittest.TestCase):
> > def test_first(self):
> > assert False
> >
> > def test_second(self):
> > print("also called")
> > assert True
> >
> > if __name__ == '__main__':
> > unittest.main()
> >
> > in this case also the second test is run even if the first fails..

>
> The reason for that is that the unit testing framework catches and
> handles the error. It calls both test functions in some unspecified
> order and logs the result. Calls to two separate test functions are
>thereby separated from each other. This is intentionally so, but I think
> you can also give the unit testing framework a flag that makes it abort
> after the first error. In no way will the exception escape from the
> unittest.main() call though, it is all caught and handled inside, also
> by intention.
>
>

> > But that's probably easy because we just need to catch exceptions for
> > every method call, so it's not exactly the same thing..

>
> I don't understand what you want to say here. I also don't understand
> what your problem in general is. I guess there are some expectations
> which are not satisfied, but you haven't explained those explicitly yet.
>


I think Andrea wants to do the same thing but with nose andnot
unittest.

Ramit

This email is confidential and subject to important disclaimers and
conditions including on offers for the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.
 
Reply With Quote
 
Mark Lawrence
Guest
Posts: n/a
 
      07-17-2012
On 17/07/2012 18:49, Prasad, Ramit wrote:
>>> import unittest
>>>
>>> class TestWithRaises(unittest.TestCase):
>>> def test_first(self):
>>> assert False
>>>
>>> def test_second(self):
>>> print("also called")
>>> assert True
>>>
>>> if __name__ == '__main__':
>>> unittest.main()
>>>
>>> in this case also the second test is run even if the first fails..

>>
>> The reason for that is that the unit testing framework catches and
>> handles the error. It calls both test functions in some unspecified
>> order and logs the result. Calls to two separate test functions are
>> thereby separated from each other. This is intentionally so, but I think
>> you can also give the unit testing framework a flag that makes it abort
>> after the first error. In no way will the exception escape from the
>> unittest.main() call though, it is all caught and handled inside, also
>> by intention.
>>
>>
>>> But that's probably easy because we just need to catch exceptions for
>>> every method call, so it's not exactly the same thing..

>>
>> I don't understand what you want to say here. I also don't understand
>> what your problem in general is. I guess there are some expectations
>> which are not satisfied, but you haven't explained those explicitly yet.
>>

>
> I think Andrea wants to do the same thing but with nose and not
> unittest.
>
> Ramit
>
> This email is confidential and subject to important disclaimers and
> conditions including on offers for the purchase or sale of
> securities, accuracy and completeness of information, viruses,
> confidentiality, legal privilege, and legal entity disclaimers,
> available at http://www.jpmorgan.com/pages/disclosures/email.
>


Do what? Like Ulrich Eckhart I simply don't understand what she's
getting at. Perhaps it's a problem with Englsh being a second language
issue rather than Python itself. Thankfully I'm sure that everything
will come out in the wash.

--
Cheers.

Mark Lawrence.



 
Reply With Quote
 
Prasad, Ramit
Guest
Posts: n/a
 
      07-17-2012
> On 17/07/2012 18:49, Prasad, Ramit wrote:

> >>> import unittest
> >>>
> >>> class TestWithRaises(unittest.TestCase):
> >>> def test_first(self):
> >>> assert False
> >>>
> >>> def test_second(self):
> >>> print("also called")
> >>> assert True
> >>>
> >>> if __name__ == '__main__':
> >>> unittest.main()
> >>>
> >>> inthis case also the second test is run even if the first fails..
>>>
> >> The reason for that is that the unit testing framework catches and
> >> handles the error. It calls both test functions in some unspecified
> >> order and logs the result. Calls to two separate test functions are
> >> thereby separated from each other. This is intentionally so, but I think
> >> you can also give the unit testing framework a flag that makes it abort
> >> after the first error. In no way will the exception escape from the
> >> unittest.main() call though, it is all caught and handled inside, also
> >> by intention.
> >>
> >>
> >>> But that's probably easy because we just need to catch exceptions for
> >>> every method call, so it's not exactly the same thing..
> >>
> >> I don't understand what you want tosay here. I also don't understand
> >> what your problem in generalis. I guess there are some expectations
> >> which are not satisfied, but you haven't explained those explicitly yet.
> >>

> >
> > I think Andrea wants to do the same thing but with nose and not
> > unittest.
> >
> > Ramit
> >

>
> Do what?Like Ulrich Eckhart I simply don't understand what she's
> getting at. Perhaps it's a problem with Englsh being a second language
> issue rather than Python itself. Thankfully I'm sure that everything
>will come out in the wash.
>
> --
> Cheers.
>
> Mark Lawrence.



I get the impression that nose stopsrunning tests once any test
fails instead of running all tests and listing all the tests and
their pass/fail status (like unittest). Granted that is just what
I get from the context as I read it as I haveno knowledge of nose.

Ramit
This email is confidential and subject to important disclaimers and
conditions including on offersfor the purchase or sale of
securities, accuracy and completeness of information, viruses,
confidentiality, legal privilege, and legal entity disclaimers,
available at http://www.jpmorgan.com/pages/disclosures/email.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: assertraises behaviour Terry Reedy Python 0 07-17-2012 06:39 PM
Re: assertraises behaviour Peter Otten Python 0 07-16-2012 05:27 PM
Re: assertraises behaviour andrea crotti Python 0 07-16-2012 04:38 PM
Interaction btw unittest.assertRaises and __getattr__. Bug? Inyeol Python 3 10-27-2010 07:15 AM
unittest assertRaises Problem john Python 2 04-17-2007 12:59 AM



Advertisments