如何在setUp中为我的unittesting编写一个模拟配置文件?

时间:2016-07-28 13:45:33

标签: python unit-testing

我正在尝试让我的setUp-method创建一个模拟配置文件,向它写一堆模拟变量,然后使用这个文件来实例化该类(称为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中执行会导致我的程序崩溃("生产者实例没有属性' LOGGER&#39 )。如果我删除了第3行代码,那么测试运行正常 - 所以写入配置文件就可以了。

2 个答案:

答案 0 :(得分:1)

为了保证您写入文件的内容实际上对于读取文件的任何进程可用,您需要在写入文件句柄后close文件句柄。记住这样做的最简单方法是使用enter image description here

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

答案 1 :(得分:0)

也许如果您在尝试从中读取配置之前关闭了文件,则可能会获得更好的结果。