Testing for exceptions

Another thing we want to test for is that analyze_text() raises the correct exception when it is passed a non-existent file name, which we can test like this:

# text_analyzer.py

class TextAnalysisTests(unittest.TestCase):
. . .
def test_no_such_file(self):
"Check the proper exception is thrown for a missing file."
with self.assertRaises(IOError):
analyze_text('foobar')

Here we use the TestCase.assertRaises() assertion. This assertion checks that the specified exception type — in this case IOError — is thrown from the body of the with-block.

Since open() raises IOError for non-existent files, our test already passes with no further implementation:

% python text_analyzer.py
....
----------------------------------------------------------------------
Ran 4 tests in 0.004s

OK
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset