The next thing want to do is be able to pass a filename to analyze_text() so that it knows what to process. Of course, for analyze_text() to work this filename should refer to a file that actually exists! To make sure that a file exists for our tests, we're going to define some fixtures.
The first fixture we can define is the method TestCase.setUp(). If defined, this method is run before each test method in the TestCase. In this case, we'll use setUp() to create a file for us and remember the filename as a member of the TestCase:
# text_analyzer.py
class TextAnalysisTests(unittest.TestCase):
. . .
def setUp(self):
"Fixture that creates a file for the text methods to use."
self.filename = 'text_analysis_test_file.txt'
with open(self.filename, 'w') as f:
f.write...