Search code examples
pythonunit-testingassertraises

Exception statement not covered by self.assertRaises in python unit test cases


This is my function:

def get_value(request, param):
  s = get_string(request, param)
  value = re.search('(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)', s)
  if not value:
    print 'match not found!'  
    raise Exception('incorrect format: %s' % param)

test function:

def test_get_value(self):
    m = test_mocks.HttpRequestMock(REQUEST = {'start_date': '2011.07.31'})
    print '*************************'
    print 'date format changed'
    self.assertRaises(Exception, get_value, (m, 'start_date'))
    print '*********************

get_value doesn't print: match not found!


Solution

  • It seems there is some issue with your python version. I guess you are using python below version 2.6. Try passing function parameters as other arguments to function i.e. do not put them inside tuple. Try this.

    self.assertRaises(Exception, helpers.get_value, m, 'start_date')