I'm using pytest and want to test that a function writes some content to a file. So I have writer.py which includes:
MY_DIR = '/my/path/'
def my_function():
    with open('{}myfile.txt'.format(MY_DIR), 'w+') as file:
        file.write('Hello')
        file.close()
I want to test /my/path/myfile.txt is created and has the correct content:
import writer
class TestFile(object):
    def setup_method(self, tmpdir):
        self.orig_my_dir = writer.MY_DIR
        writer.MY_DIR = tmpdir
    def teardown_method(self):
        writer.MY_DIR = self.orig_my_dir
    def test_my_function(self):
        writer.my_function()
        # Test the file is created and contains 'Hello'
But I'm stuck with how to do this. Everything I try, such as something like:
        import os
        assert os.path.isfile('{}myfile.txt'.format(writer.MYDIR))
Generates errors which lead me to suspect I'm not understanding or using tmpdir correctly.
How should I test this? (If the rest of how I'm using pytest is also awful, feel free to tell me that too!)
