You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The last test for the Python challenge Meetup is written incorrectly, it is simply missing the parentheses for the function after the exception.
This: def test_nonexistent_fifth_monday_of_february_2015(self): self.assertRaises(MeetupDayException, meetup_day, 2015, 2, 'Monday', '5th')
Should be this: def test_nonexistent_fifth_monday_of_february_2015(self): self.assertRaises(MeetupDayException, meetup_day(2015, 2, 'Monday', '5th'))
After making this change, the test worked as intended.
If you take a look at the python docs (see this) you will see that assertRaises(exception, callable, *args, **kwds) takes a callable and than the arguments for that. This way you don't actually call the function your self.
While it's correct, I still think we could improve it. There is another way to test exceptions added with Python 2.7. If you use a context manger instead you can make the call your self which makes it more understandable/explicit, but they do (test) exactly the same thing.
Activity
behrtam commentedon Jun 4, 2017
It is written correctly as it is right now.
If you take a look at the python docs (see this) you will see that
assertRaises(exception, callable, *args, **kwds)takes a callable and than the arguments for that. This way you don't actually call the function your self.While it's correct, I still think we could improve it. There is another way to test exceptions added with Python 2.7. If you use a context manger instead you can make the call your self which makes it more understandable/explicit, but they do (test) exactly the same thing.