如何在setUp中为我的单元测试编写一个模拟配置文件



我正试图让我的setUp方法创建一个mock配置文件,向其中写入一堆mock变量,然后使用该文件实例化我正在运行测试的类(称为Producer)。

path_to_file =("/path/to/unit.Config")
unitTest = open (path_to_file, 'w')
unitTest.write("a string containing mock variables")
prod = Producer("unit.Config")

如果我在运行测试之前手动创建一个文件并用数据填充它,测试就会工作,但在setUp中这样做会导致我的程序崩溃("Producer实例没有属性LOGGER")。如果我删除前3行代码,测试就会正常运行,所以写入配置文件就可以了。

为了保证您写入文件的内容对任何读取文件的进程都是可用的,您需要在写入文件后close文件句柄。记住要做到这一点,最简单的方法是使用上下文管理器:

with open(path_to_file, 'w') as file_pointer:
    file_pointer.write("content")
# Outside the `with` the file content is available

如果在尝试读取配置之前关闭文件,可能会得到更好的结果。

最新更新