我正在尝试编写单元测试用例,下面是原始功能的部分代码
def disk_space(something, otherthing):
"""
Comments
"""
dir_map = something['dir_map']
for dir, expected_free_gb in dir_map.items():
try:
result = os.statvfs(dir)
block_size = result.f_frsize
avail_blocks = result.f_bavail
giga = 1024 * 1024 * 1024
free_size = avail_blocks * block_size / giga
if free_size >= float(expected_free_gb):
print "No need to clear space"
else:
print "Clear some space"
单元测试功能:
@patch('os.statvfs', return_value=posix.statvfs_result(f_frsize=4096, f_bavail=2599495))
def test_disk_space(self, os_statvfs):
something
something
现在,如果我在posix.statvfs_result数据类型中返回值,它将给出错误TypeError:找不到必需的参数'sequence'(pos 1),如果我只给出return_value =(f_frsize = 4096,f_bavail = 2599495),它说str( )没有f_frsize。请帮忙。...
使用以下功能