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