gpt4 book ai didi

Python 模拟、补丁 os.environ 返回 None

转载 作者:行者123 更新时间:2023-11-30 23:22:31 25 4
gpt4 key购买 nike

我有一个简单的模块:

# my_module
from os.path import join
from os import environ

some_file_name = 'foo.txt'

def file_path():
join(environ['TARGET_DIRECTORY'], some_file_name)

还有一个简单的测试:

import os
import unittest
from os.path import join

from mock import patch
from my_module import some_file_name, file_path


class MyTest(unittest.TestCase):
def test_can_create_path(self):
some_folder = '/path/to/directory'
with patch.dict('my_module.environ', {'TARGET_DIRECTORY': some_folder}):
self.assertEqual(file_path(), join(some_folder, some_file_name))

if __name__ == '__main__':
unittest.main()

我预计对 environ['TARGET_DIRECTORY'] 的调用会返回 '/path/to/directory' 但它返回 None

最佳答案

您的函数返回None,因为没有显式的return语句。添加返回:

def file_path():
return join(environ['TARGET_DIRECTORY'], some_file_name)

模拟补丁在其他方面工作正常。

关于Python 模拟、补丁 os.environ 返回 None,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24450749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com